Problem

1 /10


C++'daki kümeler

Theory Click to read/hide

C++'da ayarlar

Ayarla (ayarla) — eklenen öğeleri otomatik olarak artan düzende sıralayan bir kaptır. Ancak, aynı değerleri eklerken, set bunun yalnızca bir örneğini depolar (multiset - multiset- kopyalar içerebilir). Sete yeni bir eleman eklendiğinde, sıralama düzenini bozmamak için hemen yerine oturur.  

C++'daki kümeler, STL standart şablon kitaplığında set (multiset) sınıfı aracılığıyla tanımlanır.

Kümeler kırmızı-siyah ikili ağaçlardır. Arama, silme ve ekleme işlemleri logaritmik karmaşıklığa sahiptir.
 
Setleri kullanmak için “set” kitaplığını eklemeniz gerekir: #include <set>
Bildirimi ayarla:
set<int> benimSetim; // Boş bir küme bildiriyoruz. çoklu küme<int> benimSetim; // Boş bir çoklu küme bildirmek.  
Bir küme (küme) ile çalışma işlevleri
 
empty() - kapsayıcıda öğe olup olmadığını kontrol eder
 
size() - Kapsayıcıdaki öğelerin sayısını döndürür
 
clear() - Kabı temizler
 
insert() - Öğeleri ekler
 
erase() - Öğeleri kaldırır
 
count() - Belirli bir anahtarla eşleşen öğe sayısını döndürür
 
find() - Belirli bir anahtara sahip bir öğe bulur
 
lower_bound() - İlk öğeye verilen değerden daha az olmayacak şekilde bir yineleyici döndürür
 
upper_bound() - Belirtilen değerden daha büyük olan ilk öğeye bir yineleyici döndürür
 

 
Küme ve çoklu küme örneği
#include <iostream> #include <set> ad alanı std kullanarak; int ana() { set<int> benimSet1; // boş bir küme bildirdi çoklu küme<int> benimSet2; // boş bir çoklu küme bildirdi // kümeye eleman ekle mySet1.insert(1); mySet1.insert(2); mySet1.insert(3); mySet1.insert(1); // çoklu kümeye öğeler ekleyin mySet2.insert(1); mySet2.insert(2); mySet2.insert(3); mySet2.insert(1); set<int>::iterator it; // bir yineleyici oluştur for(it = mySet1.begin(); it != mySet1.end(); it++) { // Tüm öğeleri görüntüle cout

Problem

Girdi
Verilen bir sayı N (1 <= N <= 100000) – istek sayısı Aşağıdaki N satırları ‘+’ veya ‘-’ ve a sayısı (1 <= a <= 1000000000). Eğer – ‘+’, ardından a sayısı kümeye eklenir, aksi takdirde – daha önce eklenen tüm a değerlerini kaldırır.
Bir sayı çıkarıldığında kümede yer alması garanti edilir.

Künye
Tüm sorgular tamamlandıktan sonra kümedeki tüm benzersiz öğelerin artan sırada, kümede hiç öğe yoksa "-1" olarak görüntülenmesi gerekir.

 
Örnekler
# Girdi Çıktı
1
3
+1
+2
-1
2
2
3
+1
+1
-1
-1
3
3
+1
+1
+1
1