快速排序
快速排序参考:
https://blog.csdn.net/qq_28584889/article/details/88136498
快速排序模板:
1 //快速排序 2 #include<iostream> 3 #include<cstdio> 4 using namespace std; 5 void quicksort(int a[101],int l,int r) 6 { 7 int i=l,j=r; 8 int mid=a[(l+r)/2]; 9 if(l>=r) return; 10 //超出范围 就结束程序 11 while(i<j) 12 { 13 while(a[j]>mid) j--; 14 //从右边开始 不符合继续向左找 15 while(a[i]<mid) i++; 16 //再从左边开始 不符合继续向右 17 if(i<=j) swap(a[i],a[j]); 18 } 19 quicksort(a,l,j-1); 20 quicksort(a,i+1,r); 21 //递归的范围 22 } 23 int main() 24 { 25 int n,a[101]; 26 cin>>n; 27 for(int i=1;i<=n;i++) 28 cin>>a[i]; 29 quicksort(a,1,n);//调用 30 for(int i=1;i<=n;i++) 31 cout<<a[i]<<" "; 32 return 0; 33 }

浙公网安备 33010602011771号