分治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 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步