STL中就自带了排序函数sort,sort 对给定区间所有元素进行排序 要使用此函数只需用#include <algorithm> 即可使用,如下:
sort(begin,end),表示一个范围
代码如下:
#include <algorithm>
int main()
{
int a[20]={1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}
输出结果将是把数组a按升序排序.
如何进行降序排序?如下:
可以自己编写一个比较函数来实现,接着调用三个参数的sort:sort(begin,end,compare)就成了。对于list容器,这个方法也适用,把compare作为sort的参数就可以了,即:sort(compare).
bool compare(int a,int b)
{
return a>b;
//降序排列,如果改为return a<b,则为升序
}
#include <algorithm>
int main()
{
int a[20]={1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20,compare);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}