Algoritma Tanpa Modifikasi: find, count, all_of
Cari dan uji isi kontainer tanpa mengubahnya
Algoritma Tanpa Modifikasi: find, count, all_of adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.
Operasi Hanya Baca
Algoritma yang tidak memodifikasi memeriksa suatu rentang tanpa mengubahnya. Algoritma tersebut berada dalam <algorithm>.
std::find
Temukan elemen pertama yang sama dengan suatu nilai. Mengembalikan iterator — end jika tidak ditemukan.
#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
Temukan elemen pertama yang cocok dengan suatu predikat.
auto it = std::find_if(v.begin(), v.end(),
[](int x) { return x > 3; });std::find_if_not
Pelengkap dari find_if — elemen pertama yang tidak cocok.
std::count dan std::count_if
Hitung kemunculan atau elemen yang cocok. Mengembalikan ptrdiff_t.
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
Uji suatu predikat terhadap rentang:
all_of— setiap elemen cocokany_of— setidaknya satu elemen cocoknone_of— tidak ada elemen yang cocok
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
Bandingkan dua rentang elemen demi elemen.
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
Temukan pasangan elemen pertama yang berbeda di antara dua rentang. Mengembalikan sepasang iterator.
std::adjacent_find
Temukan pasangan pertama elemen berdekatan yang sama (atau yang cocok dengan suatu predikat).
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
Mengembalikan iterator ke elemen terkecil atau terbesar. Berikan predikat untuk menggunakan cara perbandingan yang berbeda.
auto it = std::max_element(v.begin(), v.end());
std::cout << *it;std::for_each
Panggil suatu fungsi pada setiap elemen. Nilai pengembalian fungsi tersebut diabaikan.
std::for_each(v.begin(), v.end(),
[](int x) { std::cout << x << " "; });Versi Rentang (C++20)
C++20 menambahkan kelebihan fungsi untuk rentang yang menerima satu rentang, bukan dua iterator. Sintaksnya lebih bersih.
#include <ranges>
auto it = std::ranges::find(v, 4);
bool ok = std::ranges::all_of(v, [](int x) { return x > 0; });Pemeriksaan Singkat
Algoritma mana yang mengembalikan true hanya jika setiap elemen cocok dengan suatu predikat?
Rangkuman
Algoritma yang tidak memodifikasi memeriksa rentang tanpa mengubahnya: find, count, all_of/any_of/none_of, min_element, equal. Rentang C++20 memberikan sintaks satu rentang yang lebih bersih.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Algoritma Tanpa Modifikasi: find, count, all_of” gratis?
Ya — teks lengkap “Algoritma Tanpa Modifikasi: find, count, all_of” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Algoritma Tanpa Modifikasi: find, count, all_of”?
Cari dan uji isi kontainer tanpa mengubahnya Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C++ Academy?
Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Algoritma Tanpa Modifikasi: find, count, all_of” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?
Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Algoritma Tanpa Modifikasi: find, count, all_of
- Modifikasi: transform, copy_if, replace
- Pengurutan dan Partisi: sort, stable_partition
- Algoritma Numerik: accumulate, reduce, transform_reduce