В исходной функции вектор передан по значению, поэтому сортировка не видна вызывающему коду. Для изменения исходного контейнера нужен параметр std::vector&.
Реализовать сортировку вектора по возрастанию
В исходной функции вектор передан по значению, поэтому сортировка не видна вызывающему коду. Для изменения исходного контейнера нужен параметр std::vector<int>&.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо упорядочить массив целых чисел, представленный в виде std::vector<int>, в порядке возрастания, используя стандартный алгоритм сортировки.
void sortMe(std::vector<int> data) {
std::sort(data.begin(), data.end());
}
Ответ
В исходной функции вектор передан по значению, поэтому сортировка не видна вызывающему коду. Для изменения исходного контейнера нужен параметр std::vector&.
void sortMe(std::vector<int>& data) {
std::sort(data.begin(), data.end());
}
Подключите и . Пустой и одноэлементный контейнеры допустимы. Порядок получается неубывающим, то есть равные значения сохраняются. Сложность по сравнениям O(n log n). Если требуется не менять оригинал, возвращайте отсортированную копию отдельным результатом вместо void.