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 查看数据库和表命令