CodeBlanks Logo Icon CodeBlanks

std::set

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

main.cpp
#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

main.cpp
#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

Soru
s.insert(____);
Cevap
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?

main.cpp
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.

Orta seviye bölümündeki tüm dersler