Czym się różnią: vector, list, map?

0

Witam! Czym się różnią od siebie te kontenery? Są jeszcze:
*deque
*stack
*queue
*priority_queue
*set
*multiset
*multimap Multiple-key map (class template )
*bitset
Jakie są różnice, zalety, wady i do czego służy każdy z poszczególnych?
Źródło: http://www.cplusplus.com/reference/stl/

0

Czasem wykonywania na nich operacji, sposobem przechowywania elementów, zastosowaniem...

2

Sam sobie podsunąłeś link, w którym wszystko jest opisane

0

Ciężko na tamtej stronie znaleźć po krótce. Musiałbym wszyyystko przeczytać, a trochę tego jest. Dobra, chciałbym troszkę konkretniej każdy z kontenerów i, którego użyć do zwykłej tablicy elementów, abym mógł mieć swobodny dostęp do każdego elementu itd. czyli łatwość operacji.

1

vector - obudowana tablica dynamiczna czy coś takiego, zawiera wiele przydatnych metod
list - lista dwukierunkowej
queue - kolejka FIFO
priority_queue - kolejka priorytetowa
stack - stos
map - zbiornik, który charakteryzuje się tym, że kolejność jest ustalana według jakiegoś klucza
set - zbiór, sortuje dane które przechowuje
deque - kolejka dwustronna

Polecam lekturę Pasji c++.

1

Małe sprostowanie do postu wyżej:
map - kontener asocjacyjny, który łączy klucz z wartością, dodatkowo automatycznie sortuje elementy po kluczu
set - zbiór (przechowuje tylko pojedyncze elementy o takiej samej wartości - w przeciwieństwie do multiset). set i multiset są automatycznie posortowane, wartość jest równocześnie kluczem

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.