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

Czym się różnią: vector, list, map?
xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
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/

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

S3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 61
2

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

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
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.

piternet
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 162
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++.

byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
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

  • Rejestracja: dni
  • Ostatnio: dni

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.