4种常见的排序算法(Java版)(二)

2014-11-24 11:20:08 · 作者: · 浏览: 7
high]为空位
while (low < high && array[low] <= pivot)
++low; // low位置值与pivot比,低位下标++
array[high] = array[low]; // 当上条件不满足时,将low位置的值暂存于data[high]中。此时data[low]为空位
}www.2cto.com
// while结束时,data[low]一定是空位
array[low] = pivot;
return low;
}
public void quickSort(int low, int high, int[] array) {
// 快速排序(最快,但是占用内存大,典型的空间换时间)O(nlogn (以2为底的))
if (low < high) {
int k = partition(low, high, array);
quickSort(low, k - 1, array);
quickSort(k + 1, high, array);
}
}
}