Вектор сортируется по возрастанию вызовом std::sort(A.begin(), A.end()). Результат: -33, -5, 1, 1, 1, 4, 10, 300.
Упорядочивание вектора с помощью алгоритмов STL
Вектор сортируется по возрастанию вызовом std::sort(A.begin(), A.end()). Результат: -33, -5, 1, 1, 1, 4, 10, 300.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Примените стандартные алгоритмы из библиотеки STL, чтобы отсортировать элементы вектора.
std::vector<int> A = {1, -5, 4, 1, 10, 1, -33, 300};
// отсортировать вектор
Ответ
Вектор сортируется по возрастанию вызовом std::sort(A.begin(), A.end()). Результат: -33, -5, 1, 1, 1, 4, 10, 300.
#include <algorithm>
#include <vector>
std::vector<int> A = {1, -5, 4, 1, 10, 1, -33, 300};
// Внутри функции:
// std::sort(A.begin(), A.end());
Алгоритм изменяет исходный вектор и выполняет O(n log n) сравнений. Для убывания можно передать std::greater{} из . std::sort не сохраняет взаимный порядок равных элементов; если это важно для объектов с дополнительными полями, нужен std::stable_sort.