random_shuffle()
C++ algorithm random_shuffle() funksiyasi
Misol
Vektor elementlarini tasodifiy tartibda joylashtiring:
vector<int> numbers = {1, 2, 3, 5, 7, 9};
random_shuffle(numbers.begin(), numbers.end());
for (int number : numbers) {
cout << number << " ";
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
random_shuffle() funksiyasi ma’lumotlar oralig‘idagi elementlarni tasodifiy tartibda qayta joylashtiradi.
Ma’lumotlar oralig‘i iteratorlar orqali belgilanadi.
Eslatma: Yuqoridagi misol, ehtimol, elementlarni har doim bir xil tartibda joylashtiradi.
Tasodifiy tartibni o‘zgartirish uchun tasodifiy sonlar generatoriga boshlang‘ich qiymat (seed) berishda srand() funksiyasidan foydalanishingiz mumkin. Tartib har safar boshqacha bo‘lishini ta’minlash uchun, quyidagi Ko‘proq misollar bo‘limida ko‘rsatilganidek, joriy vaqtdan boshlang‘ich qiymat (seed) sifatida foydalanishingiz mumkin.
Sintaksis
random_shuffle(iterator start, iterator end);
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| start | Majburiy. Ma’lumotlar oralig‘ining boshini ko‘rsatuvchi iterator. |
| end | Majburiy. Ma’lumotlar oralig‘ining oxirini ko‘rsatuvchi iterator. Shu pozitsiyagacha bo‘lgan elementlar qamrab olinadi, lekin aynan shu pozitsiyadagi element qamrab olinmaydi. |
Ko‘proq misollar
Misol
Dastur har safar ishga tushganda vektor boshqacha tartibda joylashishini ta’minlang:
vector<int> numbers = {1, 2, 3, 5, 7, 9};
srand(time(NULL));
random_shuffle(numbers.begin(), numbers.end());
for (int number : numbers) {
cout << number << " ";
}
O‘zingiz sinab ko‘ring »
Tegishli sahifalar
Ma’lumotlar tuzilmalari haqida ma’lumotlar tuzilmalari darsligimizda batafsil o‘qing.
Iteratorlar haqida iteratorlar darsligimizda batafsil o‘qing.
Algoritmlar haqida algoritmlar darsligimizda batafsil o‘qing.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
