STL里的 Sort 排序算法采用的是成熟的"快速排序算法",可以保证很好的平均性能,其时间复杂度为 n*log(n),比标准C的qsort要好。
参考代码如下:
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
void print(int x)
{
cout<<x<<' ';
}
int main()
{
int a[]= {-1,9,-34,100,45,2,98,32};
const int len =sizeof(a)/sizeof(int);
sort(a,a+len); //由小到大排序
for_each(a,a+len,print);
cout<<endl;
sort(a,a+len,greater<int>()); //由大到小排序
for_each(a,a+len,print);
cout<<endl;
return 0;
}