排序是我们最常遇到的编程问题,事实上在<algorithm>头文件中就包含一个排序函数:sort()
用法一:一维数组,升序
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10]={11,43,1,45,67,89,33,456,2,67};
sort(a,a+10);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
}
运行后就会看到我们完成了一个简单的从小到大的排序。
用法二:一维数组,降序
注意:在使用sort函数降序时,需要我们自定义一个函数,函数的返回值为bool类型,在第三个参数处调用它
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a>b;
}
int main()
{
int a[10]={11,43,1,45,67,89,33,456,2,67};
sort(a,a+10,cmp);
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
}
关于sort函数使用远不止于此,例如它可以用在STL中,二维数组的排序又该如何使用它等。这些在我们信息学竞赛中涉及较少,这里暂不讨论~
—<完>—