。把整体分块。排序。
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;
}
新闻热点
疑难解答