standard template library
Kompletný prehľad štandardnej knižnice šablón (STL):
Štandardná knižnica šablón (STL) v C ++ je kolekcia šablónových tried, ktoré poskytujú dátové štruktúry, ako sú polia, vektory, fronty atď. STL je knižnica pozostávajúca z kontajnerov, algoritmov a iterátorov.
Pretože STK pozostáva z kolekcie tried šablón, je to zovšeobecnená knižnica, ktorá je nezávislá od dátových typov.
=> Prečítajte si rozsiahlu sériu výukových programov C ++ tu.
Čo sa dozviete:
java pass array na metódu odkazom
Komponenty STL
STL pozostáva hlavne z nasledujúcich komponentov, ktoré sú uvedené nižšie:
# 1) Kontajnery
Kontajner je kolekcia objektov určitého typu dátovej štruktúry. V STL máme rôzne typy tried kontajnerov ako Array, vector, queue, deque, list, map, set, atď. Tieto kontajnery majú všeobecnú povahu a sú implementované ako šablóny tried.
Kontajnery majú dynamickú povahu a dajú sa použiť na držanie rôznych druhov predmetov.
# 2) Algoritmy
Algoritmy sú metódy alebo funkcie, ktoré pôsobia na kontajnery. Použitím algoritmov poskytovaných STL môžeme mať metódy na vyhľadávanie, triedenie, úpravu, transformáciu alebo inicializáciu obsahu objektov triedy kontajnerov.
Algoritmy poskytované STL majú zabudované funkcie, ktoré môžu priamo fungovať na zložitej dátovej štruktúre, namiesto toho, aby sme ich museli písať sami.
Napríklad, Funkcia reverse () v STL sa dá použiť na obrátenie prepojeného zoznamu.
# 3) Iterátory
Iterátory sú veľmi dôležitým a charakteristickým znakom STL. Iterátory sú konštrukty, ktoré sa používajú na prechádzanie objektmi kontajnera. Podobne ako indexy, ktoré používame na prechádzanie po poliach, Iterátory pôsobia na objekty triedy kontajnerov a je možné ich použiť na prechádzanie údajmi.
Kontajnery
Kontajnery ukladajú predmety a údaje. V zásade sú to generické triedy založené na šablónach.
Kontajnery v STL sú rozdelené do nasledujúcich typov:
# 1) Postupné kontajnery
Kontajnery, ku ktorým je možné pristupovať sekvenčným alebo lineárnym spôsobom, sa označujú ako sekvenčné kontajnery.
Polia, vektory, zoznamy, deques sú kontajnery STL, ktoré ukladajú údaje lineárne a je k nim možné pristupovať sekvenčným spôsobom.
# 2) Asociatívne kontajnery
Asociatívne kontajnery sú kontajnery, ktoré implementujú triedené dátové štruktúry. Tieto kontajnery sa dajú rýchlo vyhľadať. Niektoré z Príklady asociatívnych kontajnerov sú Map, Set, MultiMap, Multiset atď. Tieto kontajnery sú zvyčajne implementované spôsobom páru kľúč / hodnota.
# 3) Prijímače kontajnerov
Používatelia kontajnerov sú sekvenčné kontajnery, implementujú sa však poskytnutím iného rozhrania. Preto sú kontajnery ako front, deque, stack a prioritné fronty klasifikované ako prijímače kontajnerov.
príkaz sort v linuxe s príkladmi
Iterátory
Iterátory sú konštrukcie, ktoré používame na prechádzanie alebo prechádzanie kontajnermi v STL. Iterátory sú v STL veľmi dôležité, pretože fungujú ako most medzi algoritmami a kontajnermi. Iterátory vždy ukazujú na kontajnery a vlastne aj na algoritmy, pracujú na iterátoroch a nikdy nie priamo na kontajneroch.
Iterátory sú nasledujúcich typov:
- Vstupné iterátory: Najjednoduchšie a používa sa väčšinou v jednopriechodových algoritmoch.
- Výstupné iterátory: Rovnaké ako vstupné iterátory, ale nepoužívajú sa na prechádzanie.
- Obojsmerné iterátory: Tieto iterátory sa môžu pohybovať oboma smermi.
- Budúci iterátori: Dá sa použiť iba smerom dopredu, jeden krok po druhom.
- Iterátory s náhodným prístupom: Rovnaké ako ukazovatele. Môže byť použitý na náhodný prístup k ľubovoľnému prvku.
Algoritmy
Algoritmy sú množinou funkcií alebo metód poskytovaných STL, ktoré pôsobia na kontajnery. Jedná sa o vstavané funkcie a môžu byť použité priamo s kontajnermi a iterátormi STL namiesto písania našich vlastných algoritmov.
STL podporuje nasledujúce typy algoritmov:
- Vyhľadávacie algoritmy
- Triediace algoritmy
- Úprava alebo manipulácia s algoritmami
- Nemodifikujúce algoritmy
- Numerické algoritmy
- Min./max. Algoritmy
Ako naznačuje každý z typov algoritmov, tieto algoritmy je možné použiť na dosiahnutie rôznych funkcií v kontajneroch STL, ako je vyhľadávanie, triedenie, transformácia údajov v kontajneroch, hľadanie minimálnej a maximálnej hodnoty atď.
Záver
Toto je krátke predstavenie knižnice štandardných šablón. V našich pripravovaných tutoriáloch sa dozvieme viac o každom z kontajnerov, algoritmov a iterátorov.
=> Skontrolujte kompletnú sériu školení C ++ ZDARMA tu.