有那位高手知道数组在排序时候用的那个递归调用的方法??
也就是说先把数组里面的第一个元素和后面的比较,找到它的位置后,把数组分成两个小的数组,然后再把两个小的数组分成四个,再分成八个,直到最后一个数组的元素为一个的时候结束,要求是递归!!!
也就是说先把数组里面的第一个元素和后面的比较,找到它的位置后,把数组分成两个小的数组,然后再把两个小的数组分成四个,再分成八个,直到最后一个数组的元素为一个的时候结束,要求是递归!!!
if (left >= right) {
return;
}
int v = a[left];
int i = left + 1;
int j = right;
int tmp;
while (i >= j) {
for (; i<a.length-1 && a[i]<v; i++);
for (; j>0 && a[j]>v; j--);
if (i < j) {
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
a[left] = a[j];
a[j] = v;
quicksort(a, left, j-1);
quicksort(a, j+1, right);
}