replace_if()
C++ algorithm replace_if() funksiyasi
Misol
Tarkibida "o" harfi bor avtomobillarni "Toyota" bilan almashtiring:
bool has_o(string item) {
return item.find('o') != string::npos;
}
int main() {
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
replace_if(cars.begin(), cars.end(), has_o, (string)"Toyota");
for (string car : cars) {
cout << car << "\n";
}
return 0;
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
replace_if() funksiyasi ma’lumotlar oralig‘idagi ko‘rsatilgan shartga mos keladigan barcha elementlarni boshqa qiymat bilan almashtiradi.
Ma’lumotlar oralig‘i iteratorlar orqali belgilanadi.
Shart funksiya orqali belgilanadi: u element qiymatini argument sifatida qabul qiladi va boolean qiymat qaytaradi — shart bajarilsa 1, bajarilmasa 0.
Maslahat: Ma’lumotlar oralig‘ini o‘zgartirmasdan, uning o‘rniga yangi ma’lumotlar oralig‘ini yaratish uchun replace_copy_if() funksiyasidan foydalanishingiz mumkin.
Sintaksis
replace_if( iterator start, iterator end, function condition, <type> replace );
<type> oraliqdagi ma’lumotlarning tipini bildiradi.
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| start | Majburiy. Qidiruv olib boriladigan ma’lumotlar oralig‘ining boshini ko‘rsatuvchi iterator. |
| end | Majburiy. Qidiruv olib boriladigan ma’lumotlar oralig‘ining oxirini ko‘rsatuvchi iterator. Qidiruv shu pozitsiyagacha bo‘lgan elementlar orasida olib boriladi, lekin aynan shu pozitsiyadagi element qamrab olinmaydi. |
| condition | Majburiy. Ma’lumotlar oralig‘idagi element qiymatini argument sifatida qabul qiladigan va boolean qiymat qaytaradigan funksiya. |
| replace | Majburiy. O‘rniga qo‘yiladigan qiymat. |
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!
