codeblocks快速排序
时间: 2023-06-21 12:21:20 浏览: 79
快速排序代码
3星 · 编辑精心推荐
下面是使用 C++ 在 CodeBlocks 中实现快速排序的示例代码:
```c++
#include<iostream>
using namespace std;
void quickSort(int arr[], int low, int high) {
if (low < high) {
int i = low, j = high, pivot = arr[low];
while (i < j) {
while (i < j && arr[j] >= pivot) j--;
if (i < j) arr[i++] = arr[j];
while (i < j && arr[i] < pivot) i++;
if (i < j) arr[j--] = arr[i];
}
arr[i] = pivot;
quickSort(arr, low, i - 1);
quickSort(arr, i + 1, high);
}
}
int main() {
int arr[] = { 6, 5, 3, 1, 8, 7, 2, 4 };
int n = sizeof(arr) / sizeof(int);
quickSort(arr, 0, n - 1);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
在上面的代码中,我们定义了一个 `quickSort` 函数来实现快速排序。在函数中,我们首先选择 `low` 和 `high` 作为左右指针,然后选择 `arr[low]` 作为枢轴元素。我们可以使用指针 `i` 和 `j` 来遍历数组,并将小于枢轴元素的元素放在左侧,大于等于枢轴元素的元素放在右侧。然后,我们递归地对左侧和右侧的子数组进行快速排序,直到排序完成。最后在 `main` 函数中,我们可以初始化一个数组,调用 `quickSort` 函数进行排序,并输出结果。
阅读全文