LoginSignup
1
0

More than 1 year has passed since last update.

C++での2重配列(降順にデータを並べる方法)

Posted at

C++の2重配列でnum2の大きい順番にデータを並び替える方法です

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

int main() {
    int N;
    cin >> N;

    vector<vector<int>> data(N, vector<int>(2));
    for (int i = 0; i < N; i++) {
        int num1,num2;
        cin >> num1;
        cin >> num2;
        //num2の大きいほうから順に並べるのでnum2とnum1を入れ替えて配列に入れる。
        data[i][0] = num2;
        data[i][1] = num1;
    }

  //num2の大きいほうから並び替える。
    sort(data.begin(), data.end(), greater<vector<int>>());

    for (int i = 0; i < N; i++) {
     //num1,num2の順番で出力する。
        cout << data[i][1] << " " << data[i][0] << endl;
    }
}

小さいほうから順番に並び替える場合は

sort(data.begin(), data.end(), greater<vector<int>>());

sort(data.begin(), data.end(), less<vector<int>>());

に変えます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0