Kontener set
Ostatnio zmodyfikowano 2016-02-09 21:37
kicknoob Temat założony przez niniejszego użytkownika |
Kontener set » 2016-02-09 20:22:52 Czy gdy używam kontenera set i jego zawartość poprzez wypisanie kolejnych elementów : for (set<int>::iterator iter = zbior.begin(); iter != zbior.end(); iter ++)cout << *iter ; wyglada np. 10 12 34 56 90 jestem w stanie w czasie stałym dowiedzieć się jaki indeks ma np element o wartości 34 (tutaj 2) ?
|
|
pekfos |
» 2016-02-09 20:55:19 jestem w stanie w czasie stałym dowiedzieć się jaki indeks ma np element o wartości 34 (tutaj 2) ? |
W czasie stałym, to ty nawet nie jesteś w stanie się dowiedzieć, czy taki element w ogóle istnieje. Obliczenie, czy nawet użycie indeksu w tym kontenerze ma czas liniowy. Co kontener set? Popraw nazwę tematu. |
|
carlosmay |
» 2016-02-09 21:24:22 wyglada np. 10 12 34 56 90 jestem w stanie w czasie stałym dowiedzieć się jaki indeks ma np element o wartości 34 (tutaj 2) ? |
Kontener std::set<> zwykle implementowany jest jako drzewo binarne, więc dostęp do elementu jest szybki. Wyszukanie pozycji elementu jest dostępne funkcją składową find(), natomiast dostęp swobodny operatorem [] nie jest udostępniony. Nie można nawet bezpośrednio zmienić wartości znalezionego elementu, aby nie naruszyć struktury drzewa (usuń i wstaw). |
|
michal11 |
» 2016-02-09 21:37:50 dowiedzieć się jaki indeks |
Przecież właśnie o to chodzi w tym kontenerze, że tam nie ma indeksów elementów. |
|
« 1 » |