تغییر ترتیب آیتم های وکتوربه صورت تصادفی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تغییر ترتیب آیتم های وکتوربه صورت تصادفی

0 امتیاز

سلام.

فرض کنید یک وکتور داریم به صورت زیر:

  std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

میخایم ترتیب اعضای عناصر را به صورت تصادفی تغییر دهیم

سوال شده خرداد 3, 1396  بوسیله ی korosh (امتیاز 155)   11 32 37
دوباره تگ گذاری شد خرداد 3, 1396

1 پاسخ

0 امتیاز

جهت تغییر ترتیب عناصر container ها از std::shuffle استفاده کنید.

#include <random>
#include <algorithm>
#include <iterator>
#include <iostream>
 
int main()
{
    std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
    std::random_device rd;
    std::mt19937 g(rd());
 
    std::shuffle(v.begin(), v.end(), g);
 
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << "\n";
}

 

پاسخ داده شده خرداد 3, 1396 بوسیله ی RaHmAtI (امتیاز 76)   1 17 21
...