int(int arr[], int start, int end) { int i = start, j = end; constint pivot = arr[start];
// 每次循环,都会尝试前后交换一对数值 while (i < j) { // 移动j,从后往前找第一个小于pivot的数,往前面填 while (i < j && arr[j] >= pivot) j--; if (i < j) { arr[i] = arr[j]; i++; } // 此时j指向的位置空出,等待一个>=pivot的数来填
近期评论