。把整體分塊。排序。
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;
}
新聞熱點
疑難解答