分治4--快速排序
分治4--快速排序
一、心得
二、题目和分析
分治+递归
三、代码和结果
1 #include <iostream> 2 using namespace std; 3 4 5 void qsort(int (&a)[7],int l,int r){ 6 int i,j,mid,p; 7 i=l; 8 j=r; 9 mid=a[(l+r)/2]; 10 do{ 11 while(a[i]<mid) i++; 12 while(a[j]>mid) j--; 13 if(i<=j){ 14 p=a[i];a[i]=a[j];a[j]=p; 15 i++;j--; 16 } 17 }while(i<=j); 18 if(l<j) qsort(a,l,j); 19 if(i<r) qsort(a,i,r); 20 } 21 22 int main(){ 23 int a[7]={7,3,9,15,8,1,5}; 24 qsort(a,0,6); 25 for(int i=0;i<=6;i++){ 26 cout<<a[i]<<" "; 27 } 28 cout<<endl; 29 return 0; 30 }
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-09-05:27岁,宅加太忙,特此在网上找女朋友,vx:fan404006308
AI交流资料群:753014672