Toplamlar (Sets)
C++ Toplam
Toplam noyob elementlarni saqlaydi, ular:
- Avtomatik ravishda o'sish tartibida saralanadı
- Noyob bo'ladi, ya'ni teng yoki takroriy qiymatlar e'tiborga olinmaydi
- Qo'shilishi yoki olib tashlanishi mumkin, lekin mavjud elementning qiymati o'zgartirib bo'lmaydi
- Indeks raqamlari orqali kirish mumkin emas, chunki tartib indekslashga emas, saralashga asoslangan
Toplamdan foydalanish uchun <set> sarlavha faylini import qiling:
MISOL
#include <set>Toplam yaratish
Toplam yaratish uchun set kalit so'zini ishlating: set<tur> toplamNomi.
MISOL
set<string> cars;E'lon vaqtida elementlar qo'shish mumkin:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
// Toplam elementlarini chop etish
for (string car : cars) {
cout << car << "\n";
}Natija:
BMW
Ford
Mazda
VolvoKo'rib turganingizdek, elementlar avtomatik ravishda saralangan. Bu holda alifbo tartibida, chunki satrlar bilan ishlaymiz. Butun sonlar saqlasangiz, raqamli tartibda saralanadi:
MISOL
set<int> numbers = {1, 7, 3, 2, 5, 9};
for (int num : numbers) {
cout << num << "\n";
}Natija:
1
2
3
5
7
9Kamayish tartibida saralash
Tartibni teskari qilish uchun burchak qavslar ichida greater<tur> funktoridan foydalaning:
MISOL
set<int, greater<int>> numbers = {1, 7, 3, 2, 5, 9};
for (int num : numbers) {
cout << num << "\n";
}Natija:
9
7
5
3
2
1Noyob elementlar
Toplamdagi elementlar noyob, ya'ni takrorlanishi mumkin emas. Masalan, "BMW" ni ikki marta qo'shsak, takroriy e'tiborga olinmaydi:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "BMW", "Mazda"};
for (string car : cars) {
cout << car << "\n";
}Natija:
BMW
Ford
Mazda
VolvoElement qo'shish
Toplamga element qo'shish uchun .insert() funksiyasidan foydalaning:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.insert("Tesla");
cars.insert("VW");
cars.insert("Toyota");
cars.insert("Audi");Element olib tashlash
Muayyan elementlarni olib tashlash uchun .erase() funksiyasidan foydalaning:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.erase("Volvo");
cars.erase("Mazda");Barcha elementlarni olib tashlash uchun .clear() funksiyasidan foydalaning:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.clear();Toplam hajmi
.size() funksiyasi yordamida toplamdagi elementlar sonini bilish mumkin:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cout << cars.size(); // 4 chiqaradiToplam bo'sh yoki yo'qligini tekshirish
.empty() funksiyasi toplam bo'sh bo'lsa 1 (true), bo'lmasa 0 (false) qaytaradi:
MISOL
set<string> cars;
cout << cars.empty(); // 1 chiqaradi (toplam bo'sh)Toplam bo'ylab tsikl
For-each tsikli yordamida toplam bo'ylab aylanish mumkin:
MISOL
set<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (string car : cars) {
cout << car << "\n";
}MASLAHAT
Iterator yordamida ham toplamlar bo'ylab aylanish mumkin.
