Запълване на std::set
След като не можем да вкарваме елементи в std::set, които да се дублират (по-точно казано можем да вкарваме, но дублиращите не се запазват), то как на практика се създава std::set съдържащ повтарящи се елементи?
След като не можем да вкарваме елементи в std::set, които да се дублират (по-точно казано можем да вкарваме, но дублиращите не се запазват), то как на практика се създава std::set съдържащ повтарящи се елементи?
Краткият отговор е, че ако искаш да пазиш дублиращи се елементи в подобен род контейнер просто няма да ползваш set :)
Но ако дадеш повече информация за това какво се опитваш да постигнеш можем да бъдем и по-полезни :)
Мерси за отговорите, но може би неправилно съм задал въпроса си. В лекцията си Живко Петров е отворил презентацията и от точка 1ч.23м.44с. казва за сета "вкарвайки всички тези елементи, изкарвайки ги ще останат само уникалните, дубликатите се елиминират". С insert не става, но въпроса ми е какъв е другия начин след като Живко Петров го дава като пример - даден ни е наличен сет с дублиращи елементи и от него принтваме само уникланите елементи. Нямах време снощи да чета в нета, но предполагам, че има начин "наведнъж" да се вземат много елементи, да се вкарат в std::set, запазват се само уникалните, но в момента на попълването на сета наистина да влизат едновременно повтарящи се елементи, които веднага се "орязват".
Демото в лекцията е от точка 1ч.34м.56с. на това, което Живко Петров показва в презентацията.
Та въпроса е дали може да вкараме елементи много и сред тях да има повтарящи се (които явно не се запазват).
Да, на set може да подадеш поредица от елементи измежду които да има повтарящи се, но ще се запишат само уникалните. Да речем, че са ти дали да провериш следната поредица от числа и ти трябва да принтираш уникалните, последователно:
5 7 3 2 6 8 4 2 4 6 7 8 3 1 5 5 5 7 0 3
Ето тук се намесва set-a. Вместо да правиш проверки дали всяка една цифра не съществува вече, после да проверяваш коя е по-голяма и коя по-малка от другите, простп ги вкарваш в set и той ще направи всичко това защото това е логиката на този контейнер.
Разгледай следните 2 линка в които ще научиш повече за set
http://www.cplusplus.com/reference/set/set/
https://www.google.com/amp/s/www.geeksforgeeks.org/set-in-cpp-stl/amp/