首页 > 代码库 > 分治4--快速排序
分治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 }
分治4--快速排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。