Küme Oluşturma ve Eleman Ekleme
Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 36 / 56.
Artık bir kümenin (set) ne olduğunu bildiğinize göre, nasıl oluşturulacağını ve ona nasıl eleman ekleneceğini öğrenelim. Bir std::set yapısına eleman eklemek için .insert() metodunu kullanırsınız.
Boş bir küme oluşturma ve eleman ekleme yöntemi şöyledir:
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);Kümelerin en önemli özelliği, yinelenen değerleri otomatik olarak reddetmeleridir. Aynı değeri iki kez eklemeye çalışırsanız, küme değişmeden kalır:
numbers.insert(5); // Bu başka bir 5 eklemeyecektir
numbers.insert(5); // Bu da eklemeyecektirTüm bu eklemelerden sonra, kümeniz yalnızca üç benzersiz öğe içerecektir: 2, 5 ve 8 (otomatik olarak sıralanmış). 5'i eklemeye yönelik yinelenen girişimler basitçe göz ardı edilir; bu da kümeleri benzersiz veri koleksiyonlarını sürdürmek için bu kadar kullanışlı kılan şeydir.
Görev
KolayBir kümeye (set), yinelenen değerler de dahil olmak üzere birkaç tam sayı ekleyerek ve ardından yinelenenlerin otomatik olarak yoksayıldığını kanıtlamak için son boyutu görüntüleyerek std::set yapısının benzersiz öğe özelliğini gösteren bir program oluşturun.
Aşağıdaki girdiler sağlanacaktır:
- Eklenecek tam sayı sayısını temsil eden bir tam sayı
n - Ardından kümeye eklenecek
nadet tam sayı
Programınız şunları yapmalıdır:
- Boş bir
std::set<int>oluşturun - Eklenecek tam sayı sayısını okuyun
- Her bir tam sayıyı okumak ve
.insert()yöntemini kullanarak kümeye eklemek için bir döngü kullanın - Tüm eklemelerden sonra,
.size()yöntemini kullanarak kümenin son boyutunu yazdırın - Kaç tane yinelenen denemenin yoksayıldığını gösteren bir mesaj yazdırın
Aşağıdaki tam çıktı formatını kullanın:
Set size: [final_size]
Duplicates ignored: [number_of_duplicates]Yoksayılan yinelenenlerin sayısı, toplam ekleme denemesi sayısı ile kümenin son boyutu arasındaki fark olarak hesaplanmalıdır. Bu, kümelerin yinelenen değerleri reddederek benzersizliği otomatik olarak koruduğunu gösterir; bu da benzersiz öğe koleksiyonlarını depolamak için onların temel özelliğidir.
Kopya kağıdı
Bir küme oluşturmak ve eleman eklemek için .insert() kullanın:
std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);Kümeler kopyaları otomatik olarak reddeder - aynı değeri birden fazla kez eklemek yalnızca bir kopyayı tutar:
numbers.insert(5); // Bu başka bir 5 eklemeyecektir
numbers.insert(5); // Bu da eklemeyecektirKümedeki benzersiz elemanların sayısını almak için .size() kullanın.
Kendin dene
#include <iostream>
#include <set>
using namespace std;
int main() {
// Eklenecek tam sayıların sayısını oku
int n;
cin >> n;
// Boş bir küme oluştur
set<int> mySet;
// YAPILACAK: Kodunuzu buraya yazın
// n adet tam sayıyı okumak ve bunları kümeye eklemek için bir döngü kullanın
// Kaç tane yinelenen değerin yoksayıldığını hesaplayın
// Sonuçları yazdır
cout << "Set size: " << mySet.size() << endl;
cout << "Duplicates ignored: " << /* yinelenenleri hesapla */ << endl;
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev Ekleme6Kümeler (Benzersiz Elemanlar)
std::set'e GirişKüme Oluşturma ve Eleman EklemeEleman Varlığını Kontrol EtmeEleman SilmeKüme Üzerinde YinelemeÖzet - Benzersiz Sayılar