standard template library
Kompletní přehled knihovny standardních šablon (STL):
Standard Template Library (STL) of C ++ is a collection of template classes that provide data structures such as arrays, vectors, queue, etc. STL je knihovna skládající se z kontejnerů, algoritmů a iterátorů.
Jelikož se STL skládá ze sbírky tříd šablon, jedná se o zobecněnou knihovnu, která je nezávislá na datových typech.
=> Přečtěte si rozsáhlou sérii výukových kurzů C ++ zde.
Co se naučíte:
sql otázky vývojáře rozhovoru pro 4 roky zkušeností
Součásti STL
STL sestává hlavně z následujících komponent, které jsou uvedeny níže:
# 1) Kontejnery
Kontejner je kolekce objektů určitého typu datové struktury. V STL máme různé typy tříd kontejnerů jako Array, vector, queue, deque, list, map, set atd. Tyto kontejnery mají obecnou povahu a jsou implementovány jako šablony tříd.
Kontejnery mají dynamickou povahu a lze je použít k uložení různých typů objektů.
# 2) Algoritmy
Algoritmy jsou metody nebo funkce, které působí na kontejnery. Pomocí algoritmů poskytovaných STL můžeme mít metody pro vyhledávání, třídění, úpravy, transformaci nebo inicializaci obsahu objektů třídy kontejneru.
Algoritmy poskytované STL mají vestavěné funkce, které mohou přímo fungovat na složité datové struktuře, místo aby jsme je museli psát sami.
Například, Funkce reverse () v STL může být použita k obrácení propojeného seznamu.
# 3) Iterátory
Iterátory jsou velmi důležitým a charakteristickým rysem STL. Iterátory jsou konstrukce, které se používají k procházení objekty kontejneru. Podobně jako indexy, které používáme k procházení polí, Iterators působí na objekty třídy kontejneru a lze je použít k procházení dat.
Kontejnery
Kontejnery ukládají objekty a data. Jsou to v zásadě šablony založené na obecných třídách.
Kontejnery v STL jsou rozděleny do následujících typů:
# 1) Sekvenční kontejnery
O kontejnerech, ke kterým lze přistupovat sekvenčním nebo lineárním způsobem, se říká, že jsou to sekvenční kontejnery.
Pole, vektory, seznamy, deques jsou kontejnery STL, které ukládají data lineárně a lze k nim přistupovat sekvenčním způsobem.
# 2) Asociativní kontejnery
Asociativní kontejnery jsou kontejnery, které implementují tříděné datové struktury. Tyto kontejnery lze rychle vyhledat. Některé z Příklady asociativních kontejnerů jsou Map, Set, MultiMap, Multiset atd. Tyto kontejnery jsou obvykle implementovány způsobem páru klíč / hodnota.
# 3) Přijímače kontejnerů
Přijímače kontejnerů jsou sekvenční kontejnery, jsou však implementovány poskytnutím jiného rozhraní. Kontejnery jako fronta, deque, stack a prioritní fronta jsou tedy všechny klasifikovány jako osvojitelé kontejnerů.
Iterátory
Iterátory jsou konstrukce, které používáme k procházení nebo procházení kontejnerů v STL. Iterátory jsou v STL velmi důležité, protože fungují jako most mezi algoritmy a kontejnery. Iterátoři vždy ukazují na kontejnery a ve skutečnosti algoritmy ve skutečnosti pracují na iterátorech a nikdy přímo na kontejnerech.
Iterátory jsou následujících typů:
- Vstupní iterátory: Nejjednodušší a používá se většinou v jednoprůchodových algoritmech.
- Výstupní iterátory: Stejné jako vstupní iterátory, ale nepoužívá se k procházení.
- Obousměrné iterátory: Tyto iterátory se mohou pohybovat v obou směrech.
- Přední iterátoři: Lze použít pouze dopředu, jeden krok po druhém.
- Iterátory s náhodným přístupem: Stejné jako ukazatele. Lze použít k náhodnému přístupu k libovolnému prvku.
Algoritmy
Algoritmy jsou sada funkcí nebo metod poskytovaných STL, které působí na kontejnery. Jedná se o vestavěné funkce a lze je použít přímo s kontejnery a iterátory STL místo psaní vlastních algoritmů.
STL podporuje následující typy algoritmů:
- Vyhledávací algoritmy
- Algoritmy řazení
- Úpravy nebo manipulace s algoritmy
- Nemodifikační algoritmy
- Numerické algoritmy
- Min./max. Algoritmy
Jak naznačuje každý z typů algoritmů, lze tyto algoritmy použít k dosažení různých funkcí v kontejnerech STL, jako je vyhledávání, třídění, transformace dat v kontejnerech, hledání min / max hodnoty atd.
jak extrahovat torrent soubory pomocí 7zip
Závěr
Toto je krátké představení knihovny standardních šablon. V našich nadcházejících výukových programech se dozvíme více o každém z kontejnerů, algoritmů a iterátorů.
=> Zkontrolujte kompletní C ++ ZDARMA tréninkovou sérii zde.