random_shuffle()

C++ algorithm random_shuffle() funksiyasi

❮ Algoritm funksiyalari


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.


❮ Algoritm funksiyalari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!