sort函数的第三个参数cmp
sort 函数的第三个参数 cmp
案例1:
#include<iostream>
#include<algorithm> //因为用了sort()函数
#include<functional> //因为用了greater<int>()
using namespace std;
void main()
{
int a[]={3,1,4,2,5};
int i;
int len=sizeof(a)/sizeof(int);//这里切记要除以sizeof(int)!
sort(a ,a + len, greater<int>());//内置类型的由大到小排序
for(i=0;i<len;i++)
cout<<a[i]<<" ";
cout<<"
";
sort(a, a + len, less<int>()); //内置类型的由小到大排序
for(i=0;i<len;i++)
cout<<a[i]<<" ";
system("pause");
} 案例2:
#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;
//下面的比较函数的返回值为0或者1
bool cmp1(int m, int n)
{
return m>n; //降序排列
}
bool cmp2(int m, int n)
{
return m<n; //升序排列
}
int main()
{
int a[10] = {8, 6, 9, 4, 21, 1, 1, 3, 78, -5};
sort(a, a+10, cmp1);
for (int i=0; i<10; ++i)
cout<<a[i]<<" ";
cout<<endl<<endl;
sort(a, a+10, cmp2);
for (int i=0; i<10; ++i)
cout<<a[i]<<" ";
cout<<endl<<endl;
stable_sort(a,a+10,cmp1);
for (int i=0; i<10; ++i)
cout<<a[i]<<" ";
cout<<endl<<endl;
stable_sort(a,a+10,cmp2);
for (int i=0; i<10; ++i)
cout<<a[i]<<" ";
cout<<endl<<endl;
system("pause");
return 0;
} 声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 查看MySQL数据库有哪些表的命令
- 下一篇: oracle 查看数据库和表命令
