C++ предоставляет возможность отображать вектор пар и сортировать вектор пар. В C++ есть контейнер, который содержит два значения, сопоставленных друг с другом, называемый «парой», и «вектор пар», который представляет собой вектор, содержащий множество таких пар. Сортировка означает упорядочение данных по возрастанию или убыванию в соответствии с требованиями. Здесь мы научимся сортировать вектор пар в программировании на C++. В C++ мы можем сортировать вектор пар как по возрастанию, так и по убыванию. Мы можем легко отсортировать вектор пар, используя метод sort(). Давайте напишем здесь несколько кодов для сортировки вектора пар.
Пример 1:
Давайте начнем код с включения сюда заголовочного файла «bits/stdc++.h». Имея этот заголовочный файл, нам не нужно включать больше заголовочных файлов, поскольку он содержит все необходимые библиотеки. Затем мы добавляем пространство имен «std» и вызываем функцию «main()».
Теперь мы объявляем «вектор пар» с именем «my_vect» и присваиваем тип данных «int», чтобы данные, которые мы вводим в эти пары, имели тип данных «целочисленный». Ниже мы инициализируем два массива с именами «my_arr1[]» и «my_arr2[]». Здесь мы инициализируем первое и второе значения пар этими значениями массива. Затем мы используем цикл «for», чтобы ввести эти значения в вектор пар. Здесь мы используем функцию push_back(), которая помогает вставлять значения в конец вектора. Внутри этой функции мы помещаем опцию make_pair, которая используется для создания парного объекта из двух значений «my_arr1» и «my_arr2».
После этого мы печатаем вектор пар, снова используя цикл «for». Здесь добавляются ключевые слова «first» и «второй», чтобы получить первое и второе значения вектора пар. Это печатает вектор пар без сортировки здесь. Теперь мы используем функцию sort() для сортировки вектора пар. Здесь функции «begin()» и «end()» используются для передачи начала и конца вектора пар в эту функцию «sort()».
После сортировки мы снова печатаем вектор пар, используя «cout», и помещаем первое и второе ключевые слова в «my_vec[i]». Теперь здесь также печатается отсортированный вектор пар.
Код 1:
#includeиспользование пространства имен std;
int главный ( )
{
вектор < пара < ты, ты > > мой_вект;
int my_arr1 [ ] '=' { 49 , двадцать , пятнадцать , 56 } ;
int my_arr2 [ ] '=' { 37 , двадцать , 90 , 55 } ;
int num = sizeof ( my_arr1 ) / размер ( my_arr1 [ 0 ] ) ;
для ( интервал я '=' 0 ; я < ли я++ )
my_vect.push_back ( make_pair ( my_arr1 [ я ] ,my_arr2 [ я ] ) ) ;
расчет << 'Перед сортировкой вектора пар: ' << конец;
для ( интервал я '=' 0 ; я < ли я++ )
{
расчет << мой_вект [ я ] .первый << ' '
<< мой_вект [ я ] .второй << конец;
}
Сортировать ( my_vect.begin ( ) , мой_вект.конец ( ) ) ;
расчет << ' \п После сортировки вектора пар: ' << конец ;
для ( интервал я '=' 0 ; я < ли я++ )
{
расчет << мой_вект [ я ] .первый << ' '
<< мой_вект [ я ] .второй << конец;
}
возвращаться 0 ;
}
Выход:
Вектор пар перед сортировкой отображается первым. Затем мы применяем технику сортировки к этому вектору пар. Затем здесь также отображается отсортированный вектор пар. Мы видим, что вектор пар сортируется в порядке возрастания по первому элементу пары.
Пример 2:
В этом примере мы теперь создаем «вектор пар» под названием «vector_1» и присваиваем тип данных «int», что означает, что информация, которую мы вводим в эти пары, имеет тип данных «целочисленный». Ниже инициализируются два массива с именами «first_arr[]» и «второй_arr[]». Здесь мы инициализируем значения этих массивов для значений первой и второй пар.
Далее мы вводим эти значения в вектор пар с помощью цикла for. Опция «make_pair», которая используется для генерации объекта пары из двух значений из массивов «first_arr[]» и «второй_arr[]», помещается внутри метода «push_back()», который помогает вставлять элементы в конец вектора.
Далее мы еще раз используем цикл for для вывода вектора пар. Для получения первого и второго значений вектора пар вставляются ключевые слова «first» и «второй». Это выводит парный вектор без какой-либо сортировки на этом этапе. Теперь мы сортируем «вектор пар», используя функцию sort() в порядке убывания. В эту функцию мы помещаем функции «rbegin()» и «rend()», чтобы они перевернули сортировку и начали с конца значений пары. Он расположит их в порядке убывания.
После сортировки мы используем «cout» для вывода вектора пар после повторного использования цикла «for», вставив первое и второе ключевые слова с «vector_1[i]» в «cout». Здесь также печатается отсортированный вектор пар.
Код 2:
#includeиспользование пространства имен std;
int главный ( )
{
вектор < пара < ты, ты > > вектор_1;
int first_arr [ ] '=' { 77 , 29 , 97 , пятнадцать } ;
int Second_arr [ ] '=' { 35 , 89 , 64 , 25 } ;
int s = sizeof ( first_arr ) / размер ( first_arr [ 0 ] ) ;
для ( интервал я = 0 ; я < с; я++ )
вектор_1.push_back ( make_pair ( first_arr [ я ] , секунда_арр [ я ] ) ) ;
расчет << «Перед сортировкой:» << конец;
для ( интервал я = 0 ; я < с; я++ ) {
расчет << вектор_1 [ я ] .первый << ' ' << вектор_1 [ я ] .второй
<< конец;
}
Сортировать ( вектор_1.rbegin ( ) , вектор_1.ренд ( ) ) ;
расчет << конец << «После сортировки:» << конец;
для ( интервал я = 0 ; я < с; я++ ) {
расчет << вектор_1 [ я ] .первый << ' ' << вектор_1 [ я ] .второй
<< конец;
}
возвращаться 0 ;
}
Выход:
Здесь сначала показан вектор предварительной сортировки пар, а затем вектор сортировки пар, который также показан здесь после применения к нему процесса сортировки. Как мы видим, начальный элемент каждой пары определяет, как вектор пар сортируется в порядке убывания.
Пример 3:
Здесь мы создаем функцию типа bool с именем sortBySecElement для сортировки векторных чисел. В эту функцию мы помещаем условие «значение1.секунда <значение2.секунда», которое сравнивает вторые значения обоих векторов пар и возвращает числа.
Затем вызывается «main()», где мы создаем вектор пар. Следующее инициализирует два массива с именами «new_array1[]» и «new_aray2[]». Здесь мы вставляем значения пар в эти массивы. Далее мы используем цикл «for» для ввода этих значений в вектор пар. Внутри метода «push_back()», который помогает вставлять элементы в конец вектора, есть опция «make_pair», которая используется для создания объекта пары из двух значений из «new_array1[]» и «new_array2[». ]” массивы.
Затем мы выводим вектор пар, используя другой цикл «for». Ключевые слова «first» и «второй» вставляются, чтобы получить первое и второе значения вектора пар. На этом этапе сортировка не выполняется, и выводится парный вектор. Теперь мы используем функцию sort() для сортировки. Начало и конец вектора пар передаются в функцию sort() в этом случае с помощью функцийbegin() и end(). Мы также помещаем функцию sortBySecElement, которую мы ранее создали, внутри этой функции sort(), где мы устанавливаем шаблон сортировки вектора пар из второго элемента вектора в порядке возрастания.
Теперь мы снова используем цикл «for». Затем первое и второе ключевые слова вставляются с «new_vec[i]» в «cout», чтобы снова создать вектор пар после сортировки. Здесь же теперь печатается отсортированный вектор пар в порядке возрастания.
Код 3:
#includeиспользование пространства имен std;
bool sortBySecElement ( константная пара < ты, ты > & значение1,
константная пара < ты, ты > & значение2 )
{
возвращаться ( значение1.секунда < значение2.секунда ) ;
}
int главный ( )
{
вектор < пара < ты, ты > > новая вещь
интервал new_arr1 [ ] '=' { 3. 4 , 29 , 65 , 48 } ;
интервал new_arr2 [ ] '=' { 67 , 19 , 54 , 7 } ;
целое значение = sizeof ( новый_arr1 ) / размер ( новый_arr1 [ 0 ] ) ;
для ( интервал я '=' 0 ; я < ценить; я++ )
new_vec.push_back ( make_pair ( новый_arr1 [ я ] ,new_arr2 [ я ] ) ) ;
расчет << «Перед сортировкой:» << конец ;
для ( интервал я '=' 0 ; я < ценить; я++ )
{
расчет << новая вещь [ я ] .первый << ' '
<< новая вещь [ я ] .второй << конец;
}
Сортировать ( new_vec.begin ( ) , new_vec.end ( ) , сортировка по элементу сек. ) ;
расчет << конец << «После сортировки:» << конец ;
для ( интервал я '=' 0 ; я < ценить; я++ )
{
расчет << новая вещь [ я ] .первый << ' '
<< новая вещь [ я ] .второй << конец;
}
возвращаться 0 ;
}
Выход:
Здесь отображается отсортированный вектор пар, и сортировка осуществляется по вторым значениям пар. Второй элемент пары сохраняется в порядке возрастания и отображается здесь.
Заключение
Это руководство посвящено «вектору сортировки пар» в C++. Мы исследовали «вектор пар» без сортировки, а также сортировали «вектор пар» по возрастанию и убыванию. Мы проиллюстрировали это на примерах сортировки «вектора пар» по первому и второму номерам этих пар в программировании на C++. Мы узнали, что метод sort() помогает выполнить эту сортировку.