STL i C ++

STL i C ++

Standard malbibliotek eller STL gir en enorm mengde anlegg til koderen eller programmereren. Hvis vi oppretter et bibliotek, betyr det at vi ønsker å lagre noen data på biblioteket.

For å lagre dataene på biblioteket, bruker vi noen metoder. STL hjelper oss med å lage disse bibliotekene ved å følge noen metoder.

STL -komponenter

STL består av tre komponenter. De er:

  1. Container
  2. Iterasjon
  3. Algoritme

Vi diskuterer hver av dem på en effektiv måte.

EN. Container

  • Enorme mengder objekt holdes i beholderen på en riktig måte.
  • Ulike typer data settes inn i beholderen for å lagre dataene på en bestemt måte. For eksempel: matrise, kart, koblet liste osv.
  • Disse beholderne er generiske i type. Begrepet "generisk" er relatert til malbegrepet i C ++ som kan holde elementene i alle datatyper.

Eksempel: utelatt tykktarmen siden dette er en underhoding.

Ulike typer data lagres i en matrise dynamisk i en vektorklasse. Vektor er en klasse av containerkategorier.

B. Iteratorer

  • Objekter drives på en systematisk måte gjennom iteratorene.
  • Det brukes til å indikere beholderne.
  • Den kobler faktisk containerne og algoritmene på en riktig måte.

Eksempel:

Argumentene fra den sorterte () algoritmen er start- og slutt -iteratoren. Disse iteratorene hjelper oss å sortere elementene som er til stede i beholderen som verdier eller data.

C. Algoritme

  • Algoritme fungerer på containere. Gjennom algoritme utfører vi de forskjellige operasjonstypene som sort, søk, data initialiserer osv.
  • Den har de forskjellige typene av de som standardfunksjoner som hjelper til med å løse mange problemer relatert til program.

Eksempel:

Vi kan reversere dataene ved hjelp av en som standardfunksjon som heter Reverse () -funksjon, sorter dataene med sort () -funksjonen osv.

Vanlige klasser som finnes i containere

  1. Vektor fungerer på matriser
  2. Kø handlinger på køer
  3. Stabler handlinger på stabler
  4. Priority_queue Acts on Heaps
  5. Listehandlinger på lenket liste
  6. Sett handlinger på trær
  7. MAP fungerer på matriser

Klassifisering av containere

Det er 4 beholder som uordnede assosiative containere, containeradaptere, sekvensbeholdere og assosiative containere.

STL er et stort konsept, ettersom det har mange klasser. Vi vil diskutere noen viktige klasser i STL.

Array:

  1. Array er en lineær samling av lignende typer elementer.
  2. Vi bruker toppturen- #include.
  3. Her er matrisen statisk i type.

Programmering Eksempel 1:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

Array< int, 5 >data_array = 5, 10, 15, 20, 25; // Opprette Array -objekt;
data_array.fyll (10); // medlemsfunksjon brukes;
for (int i = 0; i<=7;i++)
cout<< data_array[ i ] ;
retur 0;

Produksjon:

Programmering Eksempel 2:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

Array< int, 5 >data_array = 5,10,15,20,25; // Opprette Array -objekt;
cout<< data_array.at(2) ;
cout<< data_array[3] ;
cout<< data_array.front() ; // member function is used ;
cout<< data_array.back() ; // member function is used ;
retur 0;

Produksjon:

Forklaring:

De to foregående programmene er eksemplet på matriseklassen.

Her erklærer vi en rekke. Vi lagrer noen verdier som 5, 10, 15, 20 og 25 inne i en matrise.

Array< int, 5 > data_array = 5, 10, 15, 20, 25;

(), Front (), back () og fyll () er viktige medlemsfunksjoner som brukes i matrisemalen.

Vektorklasser i STL

  1. Den mest generelle formålsbeholderen er vektorklassen.
  2. Den støtter den dynamiske matrisen.

Deklarasjonstyper av vektorer

1. vektor v1;

Null lengdevektorer.

2. Vektor CV (5);

Oppretter de 5 elementene røye vektor.

3. vektor cv (4, 'a');

Initialiserer 4 elementer charvektor med “a”.

Programmering Eksempel 3:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor v1;
vektor v2 (4);
vektor v3 (5,10);
vektor v4 (3, "hei");
cout<cout<< v4[1] << endl ;
cout<retur 0;

Produksjon:

Forklaring:

I programmet erklærer vi vektorene V1, V2, V3 og V4. Vi tildeler noen verdier på erklæringstidspunktet i vektorene v2, v3, v4. Nå skriver vi ut verdiene 0, 1. og 2. indeks av V4. Alle av dem viser samme resultat.

Programmering Eksempel 4:

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

vektor< int >v1;
cout<< " Current Capacity is " <for (int i = 0; i<= 9; i++)
v1.push_back (10*(i+1));
cout<< " Current capacity is " < v1.pop_back ();
cout<<" after pop \n" ;
cout<< " Current Capacity is "<< v1.capacity() <v1.pop_back ();
cout<< "Current Capacity is "<v1.pop_back ();
cout<< " Current Capacity is " << v1.capacity() <cout<< " total number of elements are " <

Produksjon:

Forklaring:

Her i programmet bruker vi noen medlemsfunksjoner. En av dem er push_back som brukes til å tilføre vektoren på slutten.

En annen medlemsfunksjon er pop_back ().Det siste elementet fjernes.

En annen funksjon som brukes i programmet er kapasitet (). Den returnerer vektorens kapasitet.

Det siste, men ikke minst er størrelsen () som bestemmer størrelsen på dataene.

Konklusjon

I begrepet STL har vi kommet til denne konklusjonen at STL er et stort konsept i C++. Ved å bruke STL kan vi bruke standardkoden for å lage den forskjellige datastrukturen som stabel, kø og lenkliste. Vi gjør også noen operasjoner på dataene som å søke, sortering osv.