РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
361 of 815 menu

Функция sort

Функция sort сортирует элементы диапазона в порядке возрастания. В первый параметр мы передаем итератор на начало диапазона, а во второй - итератор на конец диапазона. Третьим необязательным параметром можно передать функцию сравнения, которая задаст собственный порядок сортировки.

Синтаксис

sort(first, last) sort(first, last, comp)

Пример

Давайте отсортируем вектор из чисел 5, 3, 1, 4, 2 в порядке возрастания:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> vec = {5, 3, 1, 4, 2}; sort(vec.begin(), vec.end()); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

1 2 3 4 5

Пример

Давайте отсортируем вектор из строк "abcde", "bcde", "cde", "de", "e" в алфавитном порядке:

#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { vector<string> vec = {"abcde", "bcde", "cde", "de", "e"}; sort(vec.begin(), vec.end()); for (string el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

"abcde" "bcde" "cde" "de" "e"

Пример

Давайте отсортируем вектор из чисел 5, 3, 1, 4, 2 в порядке убывания, передав функцию сравнения третьим параметром:

#include <iostream> #include <vector> #include <algorithm> using namespace std; bool compare(int a, int b) { return a > b; } int main() { vector<int> vec = {5, 3, 1, 4, 2}; sort(vec.begin(), vec.end(), compare); for (int el : vec) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

5 4 3 2 1

Смотрите также

  • функция stable_sort,
    которая сортирует элементы с сохранением порядка равных
  • функция partial_sort,
    которая сортирует часть диапазона
  • функция is_sorted,
    которая проверяет, отсортирован ли диапазон
  • функция nth_element,
    которая ставит n-й элемент на своё место
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить