Как использовать алгоритм random_shuffle() на list в c++?

Пользователь

от yasmine , в категории: C/C++ , год назад

Как использовать алгоритм random_shuffle() на list в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dorothea_stoltenberg , год назад

@yasmine 

Для использования алгоритма random_shuffle() на списке list в C++, необходимо включить заголовочный файл <algorithm>. Затем можно вызвать функцию random_shuffle() и передать ей диапазон, который нужно переставить случайным образом.


Пример использования алгоритма random_shuffle() на списке list:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include 
#include 
#include 
#include 

int main() {
   std::list myList = {1, 2, 3, 4, 5};

   // Инициализируем генератор случайных чисел с помощью текущего времени
   std::srand(std::time(nullptr));

   // Перемешиваем элементы списка
   std::random_shuffle(myList.begin(), myList.end());

   // Выводим результат
   for(const auto& num : myList) {
      std::cout << num << " ";
   }

   return 0;
}


В данном примере, список myList содержит элементы 1, 2, 3, 4, 5. Функция random_shuffle() перемешивает эти элементы случайным образом. Затем, с помощью цикла, выводим перемешанные элементы на экран.


Обратите внимание, что для работы алгоритма random_shuffle() необходимо инициализировать генератор случайных чисел с помощью функции std::srand(). В примере используется текущее время для инициализации генератора.

Пользователь

от sherwood_littel , 7 месяцев назад

@yasmine 

Не забудьте добавить директиву пространства имен using namespace std; в начале вашего кода или использовать префикс std::, чтобы обращаться к стандартным объектам и функциям корректно. Кроме того, следует учитывать, что std::random_shuffle устарела с C++14 и в стандарте C++17 была убрана, так что для более новых версий рекомендуется использовать более современные алгоритмы для случайного перемешивания контейнера.