Kontenery specjalne

Nasza ocena:

4
Pobrań: 14
Wyświetleń: 700
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kontenery specjalne - strona 1

Fragment notatki:


Kontenery specjalne Wykład 14 06/01/17 2 Kontenery specjalne Adaptatory kontenerów – przystosowują standardowe kontenery do specjalnych celów Stosy Kolejki Kolejki priorytetowe Kontener specjalny bitset Jest polem bitowym o ściśle określonym, ale dowolnym  rozmiarze Dla zmiennego rozmiaru przystosowana jest  specjalizowana wersja wektora vector 06/01/17 3 Stosy Stos nazywany jest inaczej kolejką LIFO Pobieranie elementów następuje w kolejności  odwrotnej do ich umieszczania Stos jest w szablonie klasy stack i umieszczonym  w nagłówku  Domyślnie zaimplementowany jako kolejka  dwustronna deque UŜyta dlatego, Ŝe automatycznie zwalnia pamięć oraz nie  wymaga przekopiowywania elementów przy realokacji  pamięci 06/01/17 4 Interfejs stosu Funkcje składowe push() – umieszcza element na stosie top() – zwraca kolejny element stosu pop() – usuwa element ze stosu Stos moŜe być oparty na kontenerze, który udostępnia następujące  metody back(), push_back(), pop_back() Przykład cpp_14.1 06/01/17 5 Kolejki Kolejka występuje równieŜ pod nazwą kolejki  FIFO Pobieranie elementów z kolejki następuję zgodnie  z kolejnością ich wstawiania Szablon klasy implementujący kolejkę to queue  znajdujący się w nagłówku o tej samej nazwie Domyślnie kolejka implementowana jest za pomocą kolejki dwustronnej deque 06/01/17 6 Interfejs kolejki Funkcje składowe push() – umieszcza element w kolejce pop() – usuwa element z kolejki front() – zwraca kolejny element back() – zwraca ostatni element Kolejka moŜe być oparta na kontenerze, który udostępnia następujące metody back(), push_back(), front(), pop_front() Przykład cpp_14.2 06/01/17 7 Kolejki priorytetowe Szablon klasy priority_queue implementuje  kolejkę priorytetową Elementy kolejki priorytetowej sortowane są zgodnie z kryterium sortowania (domyślenie  less) Dlatego kolejny element w kolejce ma największą wartość Domyślnym kontenerem do przechowywania  kolejek priorytetowych jest wektor 06/01/17 8 Interfejs kolejki priorytetowej Funkcje składowe push() – umieszcza element w kolejce pop() – usuwa element z kolejki top() – zwraca kolejny element Kolejka priorytetowa moŜe być oparta na kontenerze, który  udostępnia iteratory dostępu swobodnego oraz następujące  metody push_back(), front(), pop_front() Przykład cpp_14.3 06/01/17 9 Kontener bitset Kontenery bitset są tablicami o ustalonym  rozmiarze, zawierającymi bity lub wartości  logiczne Są przeznaczone do zarządzania znacznikami Posiada zalety w stosunku do przechowywanie 

(…)


Wszystkie typy oraz funkcje dotyczące łańcuchów znakowych
zdefiniowano w pliku nagłówkowym <string>
Łańcuchy zdefiniowane są w szablonie basic_string
STL definiuje dodatkowo specjalizowane wersje string oraz
wstring
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
Łańcuchy mają duŜe moŜliwości, ale niestety nie obsługują
pewnych operacji
WyraŜeń regularnych
Przetwarzanie tekstu…
…<<= - przesuwa w lewo, zwraca zmodyfikowany zestaw bitów
c.operator>>= - przesuwa w prawo, zwraca zmodyfikowany zestaw bitów
Zdefiniowane są równieŜ powyŜsze operatory bez =
c.operator[] – zwracający referencję do bitu w niestałego kontenerze lub
wartość logiczną
06/01/17
11
Konwersja typów
to_ulong() – zwraca wartość unsigned long
reprezentowana przez bity
to_string() – zwraca string reprezentujący…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz