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 mengiterasi semua elemen dalam set. For loop berbasis rentang memberikan cara paling sederhana untuk mengunjungi setiap elemen.
Berikut cara mengiterasi 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 bahwa set secara otomatis mempertahankan urutan terurut. 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.
Urutan iterasi yang sudah terurut ini membuat set sempurna 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 terurut alaminya.
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:
- Bilangan bulat
nyang mewakili jumlah kata yang akan ditambahkan ke set - Kemudian
nstring yang mewakili kata-kata yang akan 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 dengan metode
.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 berikut secara persis:
Untuk setiap kata dalam set (dalam urutan alfabetis):
[word]Ringkasan di 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 menampilkan kata-kata dalam urutan alfabetis, yang menunjukkan salah satu keunggulan utama penggunaan std::set. Ingat, jika input berisi kata yang sama lebih dari sekali, 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-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