热门

最新

红包

立Flag

投票

同城

我的

发布
wangzhicheng2013
I am 006!
1 年前
truewangzhicheng2013

快速排序不检查边界条件,如图所示,在while循环退出时,程序代码直接进行赋值,没有检查边界条件,正确代码如下:
int partition(int *array, int low, int high) {
int pivot = array[low];
int i = low, j = high;
while (i < j) {
while (i < j && (array[j] > pivot)) {
j--;
}
if (i < j) { // easy to lack
array[i++] = array[j];
}
while (i < j && array[i] < pivot) {
i++;
}
if (i < j) { // easy to lack
array[j--] = array[i];
}
}
array[i] = pivot;
return i;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
"如何识别人工智能蛇油" 作者 @火锅鱼ly (以下是他即将推出的封面)。https://www.cs.princeton.edu/~arvindn/talks/MIT-STS-AI-snakeoil.pdf猜猜哪个领域可以从这样的指南中受益...?
立即登录