Комментарии 7
Уже во многое компиляторы завезли views / ranges. Там порой более лаконичный синтаксис.
Вспомнилось как я искал аналог transform_if, но потом оказалось что это accumulate.
Статью что, GPT писал? У queue, stack, priority_queue это не контейнеры, а адаптеры, которые могут оборачивать почти произвольные контейнеры.
(Посыпаю голову пеплом - там написано, что это адаптеры)
Да и в целом ощущение, как от студенческого реферата - незнакомым с темой непонятно, знакомым - бесполезно
STL — это коллекция компонентов, предназначенных для работы с данными.
Дальше уже можно не читать, так как становится ясно, что за автора статью писал AI.
Очень полезно - спасибо
Вы бы хоть примеры корректные писали...
Пример про сортировку сотрудников абсолютно неверный. После первой сортировки вы получите список сотрудников отсортированный по отделам:
Alice from Accounting, Salary: 50000
Diana from Accounting, Salary: 55000
Bob from HR, Salary: 45000
Eve from HR, Salary: 48000
Charlie from IT, Salary: 70000
Frank from IT, Salary: 52000
Вторая сортировка просто отсортирует весь список по зарплатам. А вовсе не по "затем сортируем внутри каждой группы по убыванию зарплаты...". В вашем коде группы по отделам никак не учитываются, вывод будет вот такой:
Charlie from IT, Salary: 70000
Diana from Accounting, Salary: 55000
Frank from IT, Salary: 52000
Alice from Accounting, Salary: 50000
Eve from HR, Salary: 48000
Bob from HR, Salary: 45000
Чтобы сделать то, что вы хотели нужно написать одну сортировку с более сложным условием:
std::stable_sort(employees.begin(), employees.end(),
[](const Employee& a, const Employee& b)
{ if (a.department == b.department)
return a.salary > b.salary;
else
return a.department < b.department; });
Ну и в целом статья вообще ни о чем: сначала пишете про std::sort, в примере std::stable_sort. Хоть бы пояснили в чем разница.
Если на ваших курсах по C++ примерно такой же формат, то толку от них, наверное, не много.
Применение контейнеров и алгоритмов STL в C++