首页 > 学院 > 开发设计 > 正文

快速排序

2019-11-14 13:09:19
字体:
来源:转载
供稿:网友

。把整体分块。排序。

void Quick(int*a,int l,int r){int key=a[l];int i=l;int j=r; if(i>=j)return;while(i<j)  {        while(i<j&&a[j]>key)         j--;      if(i<j)        a[i++]=a[j];     while(i<j&&a[i]<key)         i++;      if(i<j)        a[j--]=a[i];   }a[i]=key;Quick(a,l,i-1);Quick(a,i+1,r);}

呃 理解不是很透彻。。大概知道代码就这样子。。

int main()

{

int a[6]={523,23,54,3,22,1};

Quick(a,0,5);

for(int i=0;i<6;i++)

cout<<a[i];

return 0;

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表