#include <iostream>
#include <stdio.h>
#include <math.h>
#include <string.h>
using namespace std;
void swap(int *a, int *b)
{
int temp;
temp = *a;*a = *b;*b = temp;
}
int Partition(int A[], int p, int r)
{
/*
for(int k=1;k<=8;k++)
cout<< A[k]<<" ";
cout<<endl;*/
int x = A[r];
int i = p-1;
for(int j = p; j < r; j ++)
if(A[j] <= x)
{
i++;
swap(A[i],A[j]);
}
swap(A[i+1],A[r]);
//cout<<i+1<<' '<<r<<endl;
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 T, i = 1, n, a[100];
freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
cin >> T;
n = T;
while(T--)
{
cin>>a[i];
i++;
}
Quicksort(a, 1, n);
for(i=1;i<=n;i++)
cout<< a[i]<<" ";
fclose(stdin);
//fclose(stdout);
return 0;
}
快速排序
最新推荐文章于 2024-07-17 10:35:12 发布