replace_copy_if()

C++ algorithm replace_copy_if() funksiyasi

❮ Algoritm funksiyalari


Misol

Tarkibida "o" harfi bor qiymatlar "Toyota" bilan almashtirilgan vektor nusxasini yarating:

bool has_o(string item) {
  return item.find('o') != string::npos;
}

int main() {
  vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
  vector<string> newcars(4);
  replace_copy_if(cars.begin(), cars.end(), newcars.begin(), has_o, (string)"Toyota");
  for (string car : newcars) {
    cout << car << "\n";
  }

  return 0;
}
O‘zingiz sinab ko‘ring »

Ta’rif va qo‘llanilishi

replace_copy_if() funksiyasi ko‘rsatilgan shartga mos keladigan barcha elementlari boshqa qiymat bilan almashtirilgan ma’lumotlar oralig‘i nusxasini yaratadi.

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.

Sintaksis

replace_copy_if(iterator start, iterator end, iterator destination, function condition, <type> replace);

<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.
destination Majburiy. Ma’lumotlar nusxalanadigan ma’lumotlar oralig‘ining boshini ko‘rsatuvchi iterator.
condition Majburiy. Ma’lumotlar oralig‘idagi element qiymatini argument sifatida qabul qiladigan va boolean qiymat qaytaradigan funksiya.
replace Majburiy. O‘rniga qo‘yiladigan qiymat.

Texnik tafsilotlar

Qaytaradi: Maqsad (destination) ma’lumotlar oralig‘ining oxirini ko‘rsatuvchi iterator.

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!