0208不断的发起冲锋

简直要被自己笑死,竟然把函数写在了主函数里面就说为啥老报错,这里不能定义函数,有时候会有一些基本的东西没有注意到,要细心

这个小测试是为了试验 sort 本身内置函数 和 cmp比较有区别吗,事实证明,只要内部的 比较顺序一样,cmp和内置函数一样的

#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
//函数定义一定要在主函数之外
bool cmp(const vector<int> &a,const vector<int> &b)
    {
        return a[1]>b[1];
    }
int main()
{
    vector<vector<int>> test={{101,40,32},{31,43,5},{42,4,123}};
    sort(test.begin(),test.end());
    for(auto i:test)
    {
        cout<<"i[0]"<<i[0]<<"i[1]"<<i[1]<<"i[2]"<<i[2]<<endl;
    }
    sort(test.begin(),test.end(),[](const vector<int> &a,const vector<int> &b){return a[1]>b[1];});
    for(auto i:test)
    {
        cout<<"i[0]"<<i[0]<<"i[1]"<<i[1]<<"i[2]"<<i[2]<<endl;
    }
    //test={1,43,32,31,43,5,42,4,123};
    sort(test.begin(),test.end(),cmp);
//    sort(test.begin(),test.end(),[](const vector<int> &a,const vector<int> &b){return a[1]>b[1];});
    for(auto i:test)
    {
        cout<<"i[0]"<<i[0]<<"i[1]"<<i[1]<<"i[2]"<<i[2]<<endl;
    }
//    for(auto i:test1)
//        cout<<i.first<<endl;
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Marigolci/p/12275859.html