std::set
- C++ kursu
- Orta seviye
- Ders 57/116
- 5 dk
std::set ile benzersiz sıralı koleksiyonu öğrenirsin.
std::set
std::set, tekil (unique) ve sıralı öğeler tutar. insert ile eklersin; tekrarlar yok sayılır. size() tekil öğe sayısını verir. İç yapısı kırmızı-siyah ağaçtır.
Örnek: std::set<int> s; s.insert(1); s.insert(1); s.insert(2);. İkinci insert(1) yok sayılır; s.size() 2 döndürür. s.count(1) 1 döndürür (var). Sıralı erişim: for (int x : s) std::cout << x;. Bu, artan sırada yazar.
set ordering
set öğeleri sıralı tutar. Gezme artan sırada olur. count(key) varlık denetler; find(key) iterator döndürür. lower_bound ve upper_bound aralık aramada kullanılır.
Örnek: std::set<int> s = {3, 1, 2};. Liste sırası 3, 1, 2 olsa da set içeriği 1, 2, 3 sırasındadır. s.count(2) 1 döndürür. s.find(2) 2'yi gösteren iterator döndürür; bulamazsa s.end() döner. Bu, hızlı varlık denetimi sağlar.
Uygulama set ile çalış
std::set<int> s; oluştur. insert ile 1, 1, 2, 3 ekle. s.size()'ı yazdır.
Başlangıç kodu
#include <iostream>
#include <set>
// set oluştur ve öğe ekle (tekrarlı)
int main() {
// tekil öğe sayısını yazdır
return 0;
}Örnek çözüm
#include <iostream>
#include <set>
int main() {
std::set<int> s;
s.insert(1);
s.insert(1);
s.insert(2);
s.insert(3);
std::cout << s.size() << std::endl;
return 0;
}Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 insert çağrısını tamamla
s.insert(____);
s.insert(1);
Açıklama: s.insert(1); set'e 1 ekler (tekil).
2 Özelliği eşle
| Kavram | Anlamı |
|---|---|
unique |
Tekrar yok |
sorted |
Sıralı |
insert |
Ekle (tekrar yok sayılır) |
size() |
Tekil öğe sayısı |
3 std::set<int>'e 1, 1, 2 eklersen size() ne döner?
std::set<int> s; s.insert(1); s.insert(1); s.insert(2);- 3
- 1
- 2 Doğru cevap
- 0
Açıklama: Tekrarlar yok sayılır; tekil öğe 1 ve 2 → size 2.