#include<stdio.h>
int a[100];
int i, j, t;
void BubbleSort(int n) //冒泡排序
{
for(i=0; i<n-1; i++)
{
for(j=0; j<n-1-i; j++)
{
if(a[j]>a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
}
void SelectionSort(int n) //选择排序
{
int min;
for(i=0; i<n; i++)
{
min=i;
for(j=i+1; j<n; j++)
{
if(a[min]>a[j])
min=j;
}
int t=a[i];
a[i]=a[min];
a[min]=t;
}
}
/*void InsertionSort(int n) //插入排序
{
for(i=1; i<n; i++)
{
if(a[i]<a[i-1])
{
for(j=i-1; i>=0; j--)
{
if(a[i]<a[j])
{
a[j+1]=a[j];
}
}
a[j+1]=a[i];
}
// j=i-1;
// while(j>=0 && a[j]>a[i])
// {
// a[j+1]=a[j];
// j--;
// }
// a[j+1]=a[i];
}
}*/
void quickSort(int start, int end) //快排
{
if(start>end)
return;
i=start;
j=end;
int flag=a[start];
while(i!=j)
{
while(i<j && a[j]>=flag)
j--;
while(i<j && a[i]<=flag)
i++
if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[start]=a[i];
a[i]=flag;
quickSort(start, i-1);
quickSort(i+1, end);
}
int main()
{
int n;
scanf("%d", &n);
for(i=1; i<=n; i++)
scanf("%d", &a[i]);
//BubbleSort(n);
//SelectionSort(n);
//InsertionSort(n);
quickSort(1, n);
for(i=1; i<=n; i++)
printf("%d ", a[i]);
return 0;
}
排序
最新推荐文章于 2022-04-29 23:24:15 发布