快速排序
代码:
#include<bits/stdc++.h>
using namespace std;
int a[100001];
void qsort(int i,int j)
{
int n=i,m=j,k=a[(i+j)/2];
while(n<=m)
{
while(a[n]>k&&n<j)n++;
while(a[m]<k&&m>i)m--;
if(n<=m)
{
swap(a[n],a[m]);
n++,m--;
}
}
if(n<j)qsort(n,j);
if(m>i)qsort(i,m);
}
int main()
{
int g;
cin>>g;
for(int i=1;i<=g;i++)
cin>>a[i];
qsort(1,g);
for(int i=g;i>=1;i--)
cout<<a[i]<<" ";
return 0;
}

本文介绍了一种使用C++实现的快速排序算法,并提供了完整的代码示例。该算法通过选取基准值进行分区,递归地对左右子数组进行排序,最终实现整个数组的排序。

1230

被折叠的 条评论
为什么被折叠?



