STL w C ++

STL w C ++

Standardowa biblioteka szablonów lub STL zapewnia ogromną ilość obiektu dla kodera lub programisty. Jeśli utworzymy bibliotekę, oznacza to, że chcemy przechowywać niektóre dane w bibliotece.

Aby przechowywać dane w bibliotece, używamy do przestrzegania niektórych metod. STL pomaga nam tworzyć te biblioteki, postępując zgodnie z niektórymi metodami.

Składniki STL

STL składa się z trzech komponentów. Oni są:

  1. Pojemnik
  2. Iteracja
  3. Algorytm

Omawiamy każdy z nich w skuteczny sposób.

A. Pojemnik

  • Ogromne ilości obiektu są przechowywane w pojemniku we właściwy sposób.
  • Różne typy danych są umieszczane w kontenerze w celu przechowywania danych w określony sposób. Na przykład: tablica, mapa, lista powiązana itp.
  • Te pojemniki są ogólne typu. Termin „ogólny” jest powiązany z koncepcją szablonu w C ++, który może pomieścić elementy dowolnych typów danych.

Przykład: pominięci okrężnicy, ponieważ jest to podlewanie.

Różne typy danych są przechowywane w tablicy dynamicznie w klasie wektorowej. Wektor to klasa kategorii kontenerów.

B. Iteratorzy

  • Obiekty działają w sposób systematyczny za pośrednictwem iteratorów.
  • Służy do wskazania pojemników.
  • W rzeczywistości łączy pojemniki i algorytmy we właściwy sposób.

Przykład:

Argumenty algorytmu sort () są iteratorem początkowym i końcowym. Te iteratory pomagają nam sortować elementy obecne w pojemniku jako wartości lub dane.

C. Algorytm

  • Algorytm działa na kontenery. Za pośrednictwem algorytmu wykonujemy różne typy operacji, takie jak sort, wyszukiwanie, inicjowanie danych itp.
  • Posiada różne typy funkcji domyślnych, które pomagają rozwiązać wiele problemów związanych z programem.

Przykład:

Możemy odwrócić dane za pomocą funkcji domyślnej o nazwie reverse (), sortować dane za pomocą funkcji sort () itp.

Wspólne zajęcia, które istnieją w pojemnikach

  1. Wektor działa na tablice
  2. Kolejka działa na kolejki
  3. Stosy działają na stosach
  4. Priorytet_queue działa na stosy
  5. Lista działa na listy powiązanych
  6. Ustaw akty na drzewach
  7. Mapa działa na tablicy

Klasyfikacja pojemników

Istnieją 4 kontenery, takie jak nieoporządkowane kontenery asocjacyjne, adaptery kontenera, kontenery sekwencyjne i kontenery asocjacyjne.

STL to ogromna koncepcja, ponieważ ma wiele klas. Omówimy kilka ważnych zajęć w STL.

Szyk:

  1. Tablica to liniowa kolekcja podobnych rodzajów elementów.
  2. Używamy tablicy nagłówka- #include.
  3. Tutaj tablica jest statyczna typu.

Przykład programowania 1:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

szyk< int, 5 >data_array = 5, 10, 15, 20, 25; // tworzenie obiektu tablicy;
data_array.wypełnij (10); // używana jest funkcja członka;
dla (int i = 0; i<=7;i++)
Cout<< data_array[ i ] ;
powrót 0;

Wyjście:

Przykład programowania 2:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

szyk< int, 5 >data_array = 5,10,15,20,25; // tworzenie obiektu tablicy;
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 ;
powrót 0;

Wyjście:

Wyjaśnienie:

Dwa poprzednie programy są przykładem klasy tablicy.

Tutaj deklarujemy tablicę. Przechowujemy niektóre wartości, takie jak 5, 10, 15, 20 i 25 w tablicy.

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

(), Front (), back () i Fill () są ważnymi funkcjami członkowskimi, które są używane w szablonie tablicy.

Klasy wektorowe w STL

  1. Najbardziej ogólnym pojemnikiem jest klasa wektorowa.
  2. Obsługuje dynamiczną tablicę.

Rodzaje wektorów deklaracji

1. wektor v1;

Wektory o zerowej długości.

2. Wektor CV (5);

Tworzy 5 elementów char wektor.

3. wektor cv (4, „a”);

Inicjuje 4 elementy char wektor za pomocą „a”.

Przykład programowania 3:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

wektor v1;
wektor v2 (4);
wektor v3 (5,10);
wektor v4 (3, „Hello”);
Cout<Cout<< v4[1] << endl ;
Cout<powrót 0;

Wyjście:

Wyjaśnienie:

W programie deklarujemy wektory V1, V2, V3 i V4. Przypisujemy niektóre wartości w momencie deklaracji wewnątrz wektorów V2, v3, v4. Teraz drukujemy wartości 0, 1 i 2. indeks V4. Wszystkie pokazują ten sam wynik.

Przykład programowania 4:

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

wektor< int >v1;
Cout<< " Current Capacity is " <dla (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 " <

Wyjście:

Wyjaśnienie:

Tutaj, w programie, używamy niektórych funkcji członków. Jednym z nich jest push_back, który służy do dodawania wartości do wektora na końcu.

Inną funkcją członka jest pop_back ().Ostatni element jest usuwany.

Kolejną funkcją używaną w programie jest pojemność (). Zwraca pojemność wektora.

Ostatni, ale nie przynajmniej jest rozmiar (), który określa rozmiar danych.

Wniosek

W koncepcji STL doszliśmy do tego wniosku, że STL jest ogromną koncepcją w C++. Korzystając z STL, możemy użyć standardowego kodu, aby stworzyć inną strukturę danych, taką jak lista stosu, kolejki i linki. Dokonujemy również niektórych operacji danych, takich jak wyszukiwanie, sortowanie itp.