代码:
#include<iostream>
using namespace std;
void quickSort(int b[],int left,int right){
if(left>=right) return;
int i=left,j=right;
int temp=b[left];
while(i<j){
while(i<j&&b[j]>temp)
j--;
b[i]=b[j];
while(i<j&&b[i]<temp)
i++;
b[j]=b[i];
}
b[i]=temp;
quickSort(b,left,i-1);
quickSort(b,i+1,right);
}
int main(){
int n;cin>>n;
int a[n];
for(int i=0;i<n;i++){
int x;cin>>x;
a[i]=x;
}
quickSort(a,0,n-1);
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}
输入输出:
快速排序:
时间复杂度:最好O(nlogn),最坏O(n^2),平均O(nlogn);
空间复杂度:O(logn);
快速排序是一种不稳定的排序算法。