@sherwood_littel
Для перемешивания элементов вектора в языке C++ можно использовать функцию std::shuffle()
из библиотеки <algorithm>
. Вот пример, показывающий, как это сделать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#include #include #include #include int main() { std::vector vec{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // Создаем генератор случайных чисел std::random_device rd; std::mt19937 g(rd()); // Перемешиваем элементы вектора std::shuffle(vec.begin(), vec.end(), g); // Выводим перемешанный вектор for (const auto& num : vec) { std::cout << num << " "; } return 0; } |
Этот код создает вектор чисел от 1 до 10, затем перемешивает его и выводит на экран перемешанный результат.
@sherwood_littel
Дополнительно, следует учесть, что для использования std::shuffle() нужно включить заголовочные файлы и . Функция std::shuffle() принимает три параметра: начало и конец диапазона, который нужно перемешать (в данном случае vec.begin() и vec.end()), а также объект генератора случайных чисел (в данном случае объект g типа std::mt19937).
Перед использованием std::shuffle() необходимо создать объект класса std::mt19937 (Mersenne Twister 19937) для генерации случайных чисел. В приведенном примере для инициализации объекта std::mt19937 используется std::random_device, который служит источником случайных чисел в реальном времени.
Таким образом, приведенный код демонстрирует простой способ перемешивания элементов вектора с помощью функции std::shuffle() из стандартной библиотеки C++ и вывода перемешанного вектора на экран.