0Pricing
C++ Academy · Pelajaran

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 cocok
  • any_of — setidaknya satu elemen cocok
  • none_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;   // 2

std::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

  1. Algoritma Tanpa Modifikasi: find, count, all_of
  2. Modifikasi: transform, copy_if, replace
  3. Pengurutan dan Partisi: sort, stable_partition
  4. Algoritma Numerik: accumulate, reduce, transform_reduce
← Kembali ke C++ Academy