Сортировка вектора кортежа в 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