数据结构快速排序c++
时间: 2023-06-23 13:50:19 浏览: 120
好的,下面是快速排序的C++代码实现:
```c++
#include <iostream>
using namespace std;
// 交换函数
void swap(int& a, int& b){
int temp = a;
a = b;
b = temp;
}
// 快速排序函数
void quickSort(int arr[], int left, int right){
if(left >= right)
return;
int i = left, j = right, pivot = arr[left];
while(i < j){
while(i < j && arr[j] >= pivot)
j--;
while(i < j && arr[i] <= pivot)
i++;
if(i < j)
swap(arr[i], arr[j]);
}
arr[left] = arr[i];
arr[i] = pivot;
quickSort(arr, left, i-1);
quickSort(arr, i+1, right);
}
int main(){
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int size = sizeof(arr) / sizeof(arr[0]);
quickSort(arr, 0, size-1);
for(int i=0; i<size; i++)
cout << arr[i] << " ";
return 0;
}
```
这个快速排序算法的时间复杂度为O(nlogn),并且是一种使用分治策略的排序算法。
阅读全文