社区讨论

蒟蒻自己写的快速排序,各位dalao给点建议

学术版参与者 14已保存回复 13

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
13 条
当前快照
1 份
快照标识符
@mi7yuv93
此快照首次捕获于
2025/11/21 05:51
4 个月前
此快照最后确认于
2025/11/21 06:45
4 个月前
查看原帖
#include<bits/stdc++.h> using namespace std; int findji(int num[],int head,int feet); void quicksqrt(int num[],int head,int feet){ if(head>=feet)return; int ji=findji(num,head,feet); quicksqrt(num,head,ji-1); quicksqrt(num,ji+1,feet); } int findji(int num[],int head,int feet){ int ji=num[head],left=head,right=feet,k=head; while ( right >= left ){ while ( right >= left ) { if (num[right] < ji) { num[left] = num[right]; k = right; left++; break; } right--; } while ( right >= left ) { if (num[left] > ji) { num[right] = num[left]; k = left; right--; break; } left++; } } num[k] = ji; return k; } int main(){ int n,head,feet; cin>>n; int num[n]; for(int i=0;i<n;i++){ cin>>num[i]; } cin>>head>>feet; head--;feet--; quicksqrt(num,head,feet); for(int i=head;i<feet+1;i++){ cout<<num[i]<<" "; } return 0; }

回复

13 条回复,欢迎继续交流。

正在加载回复...