全部回复 共 2 条
-
(内容为空)
-
zvoid quickSort(int* arr, int low, int high) {
if (low >= high) { // 结束标志 return; } int first = low; //地位坐标 int last = high; //高位坐标 int key = arr[first]; //设置第一个为基准 while (first < last) { //将比第一个小的移到前面 while (first < last && arr[last] >= key) { last--; } if (first < last) { arr[first++] = arr[last]; } //将比第一个大的移到后面 while (first < last && arr[first] <= key) { first++; } if (first < last) { arr[last--] = arr[first]; } } arr[first] = key; //前半递归 quickSort(arr, low, first - 1); //后半递归 quickSort(arr, first + 1, high);}
发表回复
登录后即可回复本帖,与出题人和同学一起讨论。
登录