standard template library
En fullständig översikt över standardmallbiblioteket (STL):
Standardmallbiblioteket (STL) för C ++ är en samling mallklasser som tillhandahåller datastrukturer som matriser, vektorer, kö etc. STL är ett bibliotek som består av behållare, algoritmer och iteratorer.
Eftersom STL består av en samling mallklasser är det ett generaliserat bibliotek som är oberoende av datatyper.
=> Läs igenom den omfattande C ++ utbildningsserien här.
Vad du kommer att lära dig:
hur man kör .jar-filer på Windows
Komponenter av STL
STL består huvudsakligen av följande komponenter som nämns nedan:
# 1) Behållare
En container är en samling objekt av en viss typ av datastruktur. I STL har vi olika typer av behållarklasser som Array, vektor, kö, deque, lista, karta, uppsättning etc. Dessa behållare är generiska till sin natur och implementeras som klassmallar.
Behållare är dynamiska till sin natur och kan användas för att hålla olika typer av föremål.
# 2) Algoritmer
Algoritmer är de metoder eller funktioner som fungerar på behållare. Genom att använda algoritmer som tillhandahålls av STL kan vi ha metoder för att söka, sortera, modifiera, transformera eller initialisera innehållet i objekt i behållarklass.
Algoritmer som tillhandahålls av STL har inbyggda funktioner som direkt kan fungera på komplex datastruktur istället för att behöva skriva algoritmerna själva.
Till exempel, reverse () -funktionen i STL kan användas för att vända den länkade listan.
# 3) Iteratorer
Iteratorer är STLs mycket viktiga och utmärkande drag. Iteratorer är konstruktionerna som används för att korsa genom containerobjekten. I likhet med index som vi använder för att gå igenom matriserna, agerar Iteratorer på behållarklassobjekt och kan användas för att gå igenom data.
Behållare
Behållare lagrar objekt och data. De är i grunden mallbaserade generiska klasser.
Behållare i STL är indelade i följande typer:
hur man öppnar SWF-filer på Windows
# 1) Sekventiella behållare
Behållare som kan nås på ett sekventiellt eller linjärt sätt sägs vara sekventiella behållare.
Arrays, Vectors, Lists, Deques är STL-behållare som lagrar data linjärt och kan nås på ett sekventiellt sätt.
# 2) Associativa behållare
Associerande behållare är behållare som implementerar sorterade datastrukturer. Dessa containrar är snabba att söka. Några av Exempel av associerande behållare är Map, Set, MultiMap, Multiset, etc. Dessa containrar implementeras vanligtvis på ett nyckel / värdepar-sätt.
# 3) Behållare
Behållare är sekventiella behållare, men de implementeras genom att tillhandahålla ett annat gränssnitt. Således klassificeras containrar som en kö, deque, stack och prioritetskö alla som containeranvändare.
Iteratorer
Iteratorer är konstruktioner som vi använder för att korsa eller gå igenom containrar i STL. Iteratorer är mycket viktiga i STL eftersom de fungerar som en bro mellan algoritmer och behållare. Iteratorer pekar alltid på containrar och i själva verket algoritmer, fungerar på iteratorer och aldrig direkt på containrar.
Iteratorer är av följande typer:
- Ingångsinteraktörer: Enklast och används främst i enkelpassalgoritmer.
- Utgångsinteraktörer: Samma som ingångs iteratorer men används inte för traversering.
- Dubbelriktade Iteratorer: Dessa iteratorer kan röra sig i båda riktningarna.
- Framåt Iteratorer: Kan endast användas framåt, ett steg i taget.
- Iteratorer för slumpmässig tillgång: Samma som pekare. Kan användas för att komma åt valfritt element slumpmässigt.
Algoritmer
Algoritmer är en uppsättning funktioner eller metoder som tillhandahålls av STL som verkar på containrar. Dessa är inbyggda funktioner och kan användas direkt med STL-behållare och iteratorer istället för att skriva egna algoritmer.
STL stöder följande typer av algoritmer:
- Söker algoritmer
- Sorteringsalgoritmer
- Modifiera eller manipulera algoritmer
- Icke-modifierande algoritmer
- Numeriska algoritmer
- Min / Max-algoritmer
Som var och en av algoritmtyperna antyder kan dessa algoritmer användas för att uppnå olika funktioner i STL-behållare som att söka, sortera, transformera data i behållarna, hitta min / max-värde etc.
Slutsats
Detta är den korta introduktionen av Standardmallbiblioteket. I våra kommande handledning lär vi oss mer om var och en av behållarna, algoritmerna och iteratorerna.
=> Kontrollera Komplett C ++ GRATIS träningsserie här.