Сортировка вектора кортежа в C ++ (по возрастанию)

Опубликовано: 31 Декабря, 2021

Что такое вектор кортежа?
Кортеж - это объект, который может содержать несколько элементов, а вектор, содержащий несколько таких кортежей, называется вектором кортежа. Элементы могут иметь разные типы данных. Элементы кортежей инициализируются как аргументы в порядке доступа к ним.

// C++ program to demonstrate vector of tuple
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<tuple< int , int , int > > v;
v.push_back(make_tuple(10, 20, 30));
v.push_back(make_tuple(15, 5, 25));
v.push_back(make_tuple(3, 2, 1));
// Printing vector tuples
for ( int i = 0; i < v.size(); i++)
cout << get<0>(v[i]) << " "
<< get<1>(v[i]) << " "
<< get<2>(v[i]) << " " ;
return 0;
}
Выход:
10 20 30
15 5 25
3 2 1

Различные способы сортировки вектора кортежей
Случай 1: Сортировка элементов вектора на основе первого элемента кортежей в порядке возрастания.
Такой сортировки можно добиться с помощью простой функции « sort () ». По умолчанию функция сортировки сортирует векторные элементы на основе первого элемента кортежей.

// C++ program to demonstrate sorting in
// vector of tuple according to 1st element
// of tuple
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector<tuple< int , int , int > > v;
v.push_back(make_tuple(10, 20, 30));
v.push_back(make_tuple(15, 5, 25));
v.push_back(make_tuple(3, 2, 1));
// Using sort() function to sort by 1st
// element of tuple
sort(v.begin(), v.end());
cout << "Sorted Vector of Tuple on basis"
" of first element of tuple: " ;
for ( int i = 0; i < v.size(); i++)
cout << get<0>(v[i]) << " "
<< get<1>(v[i]) << " "
<< get<2>(v[i]) << " " ;
return 0;
}
Выход:
Sorted Vector of Tuple on basis of first element of tuple:
3 2 1
10 20 30
15 5 25
C++