void iswap(int *v,int *t)
{
*v=*v^*t;
*t=*v^*t;
*v=*v^*t;
}
void iqsort(int *v,int begin,int end)
{
int left=begin;
int right=end;
int flag=v[(begin+end)/2];
if(begin>=end)
return;
iswap(&v[left],&v[(begin+end)/2]);
while(left<right){
while(left<right&&v[right]>flag)
right--;
v[left++]=v[right];
while(left<right&&v[left]<=flag)
left++;
v[right--]=v[left];
}
v[left]=flag;
iqsort(v,begin,left-1);
iqsort(v,left+1,end);
}
当对{2,5,4,9,8,4,65}排序时,会有问题。什么原因呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.