void quickSort(elementType*arr,int left,int right) { int temp , i = left, j = right; int pivot = arr[(left + right)/2]; while (i <= j) { while (arr[i] < pivot) { i++; } while (arr[j] > pivot) { j--; } if (i <= j) { swap(arr[i], arr[j]); i++; j++; } } if() }补充这段代码
时间: 2023-07-15 12:13:58 浏览: 61
C/C++实现双路快速排序算法原理
这段代码实现的是快速排序,需要补充的是分治递归的部分。可以在最后添加以下代码:
```
if (left < j) {
quickSort(arr, left, j);
}
if (i < right) {
quickSort(arr, i, right);
}
```
这里使用了分治递归的思想,将数组不断划分为更小的子数组进行排序。首先判断左边子数组是否还有元素需要排序,如果有则递归调用 `quickSort` 函数,将左边子数组传入函数中进行排序。同理,判断右边子数组是否还有元素需要排序,如果有则递归调用 `quickSort` 函数,将右边子数组传入函数中进行排序。
阅读全文