Değiştirmeyen Algoritmalar: find, count, all_of
Kapsayıcı içeriklerini değiştirmeden arayın ve sınayın
Değiştirmeyen Algoritmalar: find, count, all_of, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.
Salt Okuma İşlemleri
Değişiklik yapmayan algoritmalar bir aralığı değiştirmeden inceler. <algorithm> içinde bulunurlar.
std::find
Bir değere eşit olan ilk öğeyi bulur. Bir yineleyici döndürür; bulunamazsa end döndürür.
#include <algorithm>
std::vector<int> v = {3, 1, 4, 1, 5};
auto it = std::find(v.begin(), v.end(), 4);
if (it != v.end()) std::cout << "found at " << (it - v.begin());std::find_if
Bir koşulla eşleşen ilk öğeyi bulur.
auto it = std::find_if(v.begin(), v.end(),
[](int x) { return x > 3; });std::find_if_not
find_if'in tümleyenidir; eşleşmeyen ilk öğeyi bulur.
std::count ve std::count_if
Tekrarlanan veya eşleşen öğeleri sayar. ptrdiff_t döndürür.
int n = std::count(v.begin(), v.end(), 1); // count of 1s
int m = std::count_if(v.begin(), v.end(),
[](int x) { return x > 2; });std::all_of std::any_of std::none_of
Bir koşulu aralık üzerinde sınar:
all_of— her öğe eşleşirany_of— en az bir öğe eşleşirnone_of— hiçbir öğe eşleşmez
bool allPositive = std::all_of(v.begin(), v.end(),
[](int x) { return x > 0; });
bool anyEven = std::any_of(v.begin(), v.end(),
[](int x) { return x % 2 == 0; });std::equal
İki aralığı öğe öğe karşılaştırır.
std::vector<int> a = {1, 2, 3};
std::vector<int> b = {1, 2, 3};
bool same = std::equal(a.begin(), a.end(), b.begin());std::mismatch
İki aralıktaki farklılık gösteren ilk öğe çiftini bulur. Bir yineleyici çifti döndürür.
std::adjacent_find
Bitişik ve eşit öğelerden oluşan ilk çifti (veya bir koşul eşleşmesini) bulur.
std::vector<int> v = {1, 2, 2, 3};
auto it = std::adjacent_find(v.begin(), v.end());
std::cout << *it; // 2std::min_element std::max_element
En küçük veya en büyük öğeye işaret eden bir yineleyici döndürür. Farklı bir karşılaştırma yapmak için bir koşul işlevi geçirin.
auto it = std::max_element(v.begin(), v.end());
std::cout << *it;std::for_each
Her öğe üzerinde bir işlev çağırır. İşlevin dönüş değeri yok sayılır.
std::for_each(v.begin(), v.end(),
[](int x) { std::cout << x << " "; });Aralık Sürümleri (C++20)
C++20, iki yineleyici yerine tek bir aralık kabul eden aralık aşırı yüklemelerini ekledi. Sözdizimi daha temizdir.
#include <ranges>
auto it = std::ranges::find(v, 4);
bool ok = std::ranges::all_of(v, [](int x) { return x > 0; });Hızlı Kontrol
Yalnızca her öğe bir koşulla eşleştiğinde true döndüren algoritma hangisidir?
Özet
Değişiklik yapmayan algoritmalar aralıkları değiştirmeden inceler: find, count, all_of/any_of/none_of, min_element, equal. C++20 aralıkları, tek aralık kullanan daha temiz bir sözdizimi sağlar.
Sıkça Sorulan Sorular
“Değiştirmeyen Algoritmalar: find, count, all_of” dersi ücretsiz mi?
Evet — “Değiştirmeyen Algoritmalar: find, count, all_of” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.
“Değiştirmeyen Algoritmalar: find, count, all_of” dersinde ne öğreneceğim?
Kapsayıcı içeriklerini değiştirmeden arayın ve sınayın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C++ Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Değiştirmeyen Algoritmalar: find, count, all_of” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Değiştirmeyen Algoritmalar: find, count, all_of
- Değiştiren Algoritmalar: transform, copy_if, replace
- Sıralama ve Bölümleme: sort, stable_partition
- Sayısal Algoritmalar: accumulate, reduce, transform_reduce