Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kontener set

Ostatnio zmodyfikowano 2016-02-09 21:37
Autor Wiadomość
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) ?
P-144662
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.

Kontener set
Co kontener set? Popraw nazwę tematu.
P-144664
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).
P-144668
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.
P-144670
« 1 »
  Strona 1 z 1