Menelusuri set
Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 39 dari 56.
Sekarang setelah kamu bisa menambahkan, memeriksa, dan menghapus elemen dari set, mari pelajari cara menelusuri semua elemen dalam set. for loop berbasis rentang memberikan cara paling sederhana untuk mengunjungi setiap elemen.
Berikut cara melakukan iterasi melalui set:
std::set<std::string> fruits = {"banana", "apple", "cherry"};
for (const std::string& fruit : fruits) {
std::cout << fruit << std::endl;
}Fitur terpenting yang perlu diingat adalah set secara otomatis mempertahankan urutan yang sudah diurutkan. Saat kamu melakukan iterasi melalui set fruits di atas, output-nya akan berupa "apple", "banana", "cherry", bukan urutan saat kamu memasukkannya. Pengurutan otomatis ini adalah salah satu keunggulan utama menggunakan std::set.
Iterasi terurut ini membuat set cocok untuk menampilkan data dalam urutan alfabetis atau numerik tanpa perlu mengurutkannya secara manual. Baik kamu bekerja dengan angka, string, maupun tipe lain yang dapat dibandingkan, set akan selalu menampilkannya dalam urutan alami yang sudah terurut.
Tantangan
MudahBuat program yang menunjukkan fitur pengurutan otomatis std::set dengan menambahkan kata ke dalam set, lalu menelusurinya untuk menampilkan kata-kata tersebut dalam urutan alfabetis. Tantangan ini akan menguji pemahamanmu tentang for loop berbasis rentang dengan set dan cara set mempertahankan urutan terurut.
Input berikut akan diberikan:
- Sebuah bilangan bulat
nyang menunjukkan jumlah kata yang akan ditambahkan ke set - Kemudian
nstring yang berisi kata-kata untuk dimasukkan ke dalam set
Programmu harus:
- Membuat
std::set<std::string>kosong - Membaca jumlah kata yang akan ditambahkan
- Menggunakan perulangan untuk membaca setiap kata dan memasukkannya ke dalam set menggunakan method
.insert() - Menggunakan for loop berbasis rentang untuk menelusuri set dan mencetak setiap kata
- Setelah mencetak semua kata, menampilkan jumlah total kata unik dalam set
Gunakan format output persis seperti berikut:
Untuk setiap kata dalam set (dalam urutan alfabetis):
[word]Ringkasan di bagian akhir:
Total unique words: [count]Gunakan for loop berbasis rentang dengan sintaks for (const std::string& word : wordSet) untuk menelusuri semua elemen dalam set. Set akan otomatis menyajikan kata-kata dalam urutan alfabetis, yang menunjukkan salah satu keunggulan utama menggunakan std::set. Ingat, jika input berisi kata duplikat, set akan otomatis mengabaikannya, sehingga hanya kata unik yang akan ditampilkan.
Coba sendiri
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
// Baca jumlah kata
int n;
cin >> n;
// Buat set kosong untuk menyimpan kata
set<string> wordSet;
// TODO: Tulis kodemu di sini
// Baca n kata dan masukkan ke dalam set
// Gunakan range-based for loop untuk menelusuri set dan mencetak setiap kata
// Cetak jumlah total kata unik
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Pointer dan Memori
Apa Itu Pointer?Operator Address-OfOperator DereferencePointer NullPointer dan ArrayMemori Dinamis dengan 'new'Membebaskan Memori dengan 'delete'Rangkuman: Latihan Pointer2Vektor (array Dinamis)
Memperkenalkan std::vectorMembuat VektorMenambahkan ElemenMengakses ElemenUkuran VektorIterasi dengan for loopFor loop Berbasis RentangMenghapus ElemenRangkuman: Operasi Vektor3Proyek: Alat Daftar Tugas
Ikhtisar ProyekMenambahkan Tugas6set (Elemen Unik)
Mengenal std::setMembuat set & Menambahkan ElemenMemeriksa ElemenMenghapus ElemenMenelusuri setRangkuman: Angka UnikLatihan sendiri: Compiler C++ online