C++ <list> функция sort
sortиспользуется в list дляСортировать связный списокЭта функция — эффективная операция, характерная для связных списков.
sortЭто функция-член класса контейнера, используемая для сортировки элементов в связном списке.
listsortОн использует сортировку слиянием со временной сложностью O(n log n) и не вызывает перемещения элементов.
Определения слов: sortЭто означает "sort", то есть сортировку элементов.
Базовый синтаксис и параметры
Формат синтаксиса
void sort(); void sort(Compare comp);
Описание параметра
- Параметр(Необязательно):
comp- Функция сравнения
Описание функции
- Возвращаемое значение:
void(Нет возвращаемого значения). - Эффект: сортировка элементов в связном списке.
Пример
Пример 1: Базовая сортировка
Пример
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Перед сортировкой: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "После сортировки: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "Перед сортировкой: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "После сортировки: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Ожидаемый вывод:
排序前: 5 2 8 1 9 3 排序后: 1 2 3 5 8 9
Пример 2: Сортировка по убыванию
Пример
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// Сортировка по убыванию
numbers.sort(std::greater<int>());
std::cout << "После сортировки по убыванию: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// Сортировка по убыванию
numbers.sort(std::greater<int>());
std::cout << "После сортировки по убыванию: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Ожидаемый вывод:
降序排序后: 9 8 5 3 2 1
Другие расширения