C++STL二维vector指定位置排序

自己一直用vector 二维的存储变量 有时候需要进行排序 在此 为记录一下方法 废话少说直接上代码  

#include <QCoreApplication>
#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <algorithm>

#include <QDateTime>
#include <QTimer>
#include <qdebug.h>


bool cmp1(const vector<int> &a, const vector<int> &b)
{
    return a[0] > b[0];
}


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    vector<vector<int>> viA(10);
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            viA[i].push_back(rand() % 100);
        }
    }

    cout<< "no :"  << endl;
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cout << viA[i][j] << "	";
        }
        cout << endl;
    }
    cout << "sort :" << endl;

    sort(viA.begin(), viA.end(), cmp1);

    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cout << viA[i][j] << "	";
        }
        cout << endl;
    }



    return a.exec();
}

运行结果:

no 锛
41    67    34    
0    69    24    
78    58    62    
64    5    45    
81    27    61    
91    95    42    
27    36    91    
4    2    53    
92    82    21    
16    18    95    
sort 锛
92    82    21    
91    95    42    
81    27    61    
78    58    62    
64    5    45    
41    67    34    
27    36    91    
16    18    95    
4    2    53    
0    69    24    
原文地址:https://www.cnblogs.com/wanghuixi/p/10647771.html