upper_bound()
C++ algorithm upper_bound() funksiyasi
Misol
Saralangan vektordagi 7 dan katta birinchi qiymatni toping:
vector<int> numbers = {1, 7, 3, 5, 9, 2};
sort(numbers.begin(), numbers.end());
auto it = upper_bound(numbers.begin(), numbers.end(), 7);
if(it != numbers.end()) {
cout << *it << " is the first value greater than 7";
} else {
cout << "No elements found above the upper bound";
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
upper_bound() funksiyasi saralangan ma’lumotlar oralig‘ida ko‘rsatilgan yuqori chegaradan katta bo‘lgan birinchi qiymatni topish uchun samarali algoritmdir.
Agar ma’lumotlar oralig‘i oldindan saralanmagan bo‘lsa, funksiya noto‘g‘ri natija qaytarishi mumkin. Ma’lumotlar oralig‘idagi elementlarni saralash uchun sort() funksiyasidan foydalanish mumkin.
Ma’lumotlar oralig‘i iteratorlar orqali belgilanadi.
Sintaksis
upper_bound(iterator start, iterator end, <type> bound);
<type> oraliqdagi ma’lumotlarning tipini bildiradi.
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. |
| bound | Majburiy. Yuqori chegarani belgilaydi. |
Texnik tafsilotlar
| Qaytaradi: | Yuqori chegaradan katta bo‘lgan birinchi qiymatni o‘z ichiga olgan elementni ko‘rsatuvchi iterator. Agar bunday element topilmasa, ma’lumotlar oralig‘ining oxirini qaytaradi. |
|---|
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!
