您的位置:首页 > 产品设计 > UI/UE

算法导论 经典算法实现 quicksort

2017-09-29 13:30 127 查看
#include <iostream>
using namespace std;

//
int Partition(int A[], int p,int r){
int x = A[r];
int i = p - 1;

for(int j = p; j<r; j++){
if (A[j] <= x){
i = i + 1;
swap(A[i],A[j]);
}
}
swap(A[i+1],A[r]);
return i + 1;
}
void QuickSort(int A[],int p,int r){
if(p < r){
int q = Partition(A, p, r);
QuickSort(A,p,q-1);
QuickSort(A,q+1,r);
}
}

int main(){
int a[100];
int size;
while(cin>>size){
for(int i=1;i<=size;i++){
cin>>a[i];
}
QuickSort(a,1,size);
for(int i=1;i<=size;i++){
cout<<a[i]<<" ";
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法导论