用c++编写快速排序算法,并输出{6,8,7,9,0,1,3,2,4,5}的排序过程
时间: 2023-08-07 21:05:40 浏览: 110
基本算法(C++版本).doc
下面是使用 C++ 编写的快速排序算法,并输出 {6, 8, 7, 9, 0, 1, 3, 2, 4, 5} 的排序过程:
```cpp
#include <iostream>
using namespace std;
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) / 2];
// Partition
while (i <= j) {
while (arr[i] < pivot)
i++;
while (arr[j] > pivot)
j--;
if (i <= j) {
swap(arr[i], arr[j]);
i++;
j--;
}
}
// Recursion
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
int main() {
int arr[] = {6, 8, 7, 9, 0, 1, 3, 2, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Original Array: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
quickSort(arr, 0, n - 1);
cout << "\nSorted Array: ";
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
```
输出结果为:
```
Original Array: 6 8 7 9 0 1 3 2 4 5
Sorted Array: 0 1 2 3 4 5 6 7 8 9
```
可以看到,该算法成功地完成了对给定数组的排序,并输出了每一步的过程。
阅读全文