Вектор сортировки пар в C++

Vektor Sortirovki Par V C



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() помогает выполнить эту сортировку.