Pull to refresh

Comments 7

Уже во многое компиляторы завезли views / ranges. Там порой более лаконичный синтаксис.

Вспомнилось как я искал аналог transform_if, но потом оказалось что это accumulate.

Статью что, GPT писал? У queue, stack, priority_queue это не контейнеры, а адаптеры, которые могут оборачивать почти произвольные контейнеры.

(Посыпаю голову пеплом - там написано, что это адаптеры)

Да и в целом ощущение, как от студенческого реферата - незнакомым с темой непонятно, знакомым - бесполезно

КДПВ у них весьма прозрачно АИшная (почему контейнер кубический и зачем у него двери и слева, и сзади?), так что таки да.

STL — это коллекция компонентов, предназначенных для работы с данными. 

Дальше уже можно не читать, так как становится ясно, что за автора статью писал AI.

И КДПВ рисовало тоже.

UFO just landed and posted this here

Вы бы хоть примеры корректные писали...

Пример про сортировку сотрудников абсолютно неверный. После первой сортировки вы получите список сотрудников отсортированный по отделам:

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++ примерно такой же формат, то толку от них, наверное, не много.

Sign up to leave a comment.