vector二维数组如何排序

1.sort()函数,默认的是对二维数组按照第一列的大小对每行的数组进行排序。所以可以加上cmp函数用按照任意列对数组进行排序。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 //按照二维数组第一列的大小对每个一维数组升序排序,
 4 //如何第一列相同时,按照第二列大小对每行的数组降序排序
 5 bool cmp(vector<int>&a,vector<int>&b){
 6     if(a[0]!=b[0]) return a[0]<b[0];
 7     else return a[1]>b[1];
 8 }
 9 int main()
10 {
11     vector<vector<int> >a(6);
12     int x;
13     for(int i=0;i<6;i++){
14         for(int j=0;j<2;j++){
15             cin>>x;
16             a[i].push_back(x);
17         }
18     }
19     cout<<endl;
20     sort(a.begin(),a.end(),cmp);
21     for(int i=0;i<6;i++){
22         for(int j=0;j<2;j++){
23             cout<<a[i][j]<<" ";
24         }
25         cout<<endl;
26     }
27     return 0;
28 }

输入的数组和排序的数组如下:

vector二维数组如何排序

 

原文链接: https://www.cnblogs.com/mld-code-life/p/12722798.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    vector二维数组如何排序

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/342755

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午1:43
下一篇 2023年3月2日 上午1:44

相关推荐