分治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 }
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站:
【读书编程笔记】fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
AI交流资料群:753014672