#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
void qsort(int low,int high,int *a);
int parti(int low,int high,int *a);
int main()
{
int n;
int a[1000];
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
qsort(0,n-1,a);
for(int i=0;i<n;i++)
cout<<a[i]<<endl;
return 0;
}
int parti(int low,int high,int *a)
{
int key=a[low];
while(low<high)
{
while(low<high&&a[high]>=key)high--;
a[low]=a[high];
while(low<high&&a[low]<=key)low++;
a[high]=a[low];
}
a[low]=key;
return low;
}
void qsort(int low,int high,int *a)
{
if(low < high)
{
int mid= parti(low,high,a);
qsort(low ,mid-1,a);
qsort(mid+1,high,a);
}
}
快速排序的c语言实现
猜你喜欢
转载自blog.csdn.net/qq_34552393/article/details/79242272
今日推荐
周排行