Метод sort
Метод sort сортирует элементы списка
list в порядке возрастания. Список
изменяется на месте, то есть возвращается
новый список, а исходный преобразуется.
Метод не принимает обязательных параметров.
По умолчанию элементы сравниваются с помощью
оператора <. При необходимости можно
передать собственную функцию сравнения первым
параметром, которая принимает два элемента
и возвращает true, если первый элемент
должен идти перед вторым.
Синтаксис
lst.sort()
lst.sort(comp)
Пример
Давайте отсортируем список чисел по возрастанию:
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> lst = {5, 2, 4, 1, 3};
lst.sort();
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте отсортируем список чисел по убыванию, передав функцию сравнения:
#include <iostream>
#include <list>
using namespace std;
bool comp(int a, int b)
{
return a > b;
}
int main()
{
list<int> lst = {5, 2, 4, 1, 3};
lst.sort(comp);
for (int el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
5 4 3 2 1
Пример
Давайте отсортируем список строк в алфавитном порядке:
#include <iostream>
#include <list>
#include <string>
using namespace std;
int main()
{
list<string> lst = {"abcde", "abc", "ab", "a", "abcd"};
lst.sort();
for (string el : lst) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
"a" "ab" "abc" "abcd" "abcde"