standard template library
Pełny przegląd biblioteki standardowych szablonów (STL):
Standardowa biblioteka szablonów (STL) języka C ++ to zbiór klas szablonów udostępniających struktury danych, takie jak tablice, wektory, kolejki itp. STL to biblioteka składająca się z kontenerów, algorytmów i iteratorów.
Ponieważ STL składa się z kolekcji klas szablonów, jest to uogólniona biblioteka niezależna od typów danych.
=> Przeczytaj całą serię samouczków szkoleniowych C ++ tutaj.
Czego się nauczysz:
różnice c i c ++
Składniki STL
STL składa się głównie z następujących elementów wymienionych poniżej:
# 1) Pojemniki
Kontener to zbiór obiektów o określonej strukturze danych. W STL mamy różne typy klas kontenerów, takie jak Array, vector, queue, deque, list, map, set itp. Kontenery te mają charakter ogólny i są implementowane jako szablony klas.
Pojemniki mają charakter dynamiczny i mogą służyć do przechowywania różnego rodzaju przedmiotów.
# 2) Algorytmy
Algorytmy to metody lub funkcje działające na kontenerach. Korzystając z algorytmów dostarczonych przez STL, możemy mieć metody do wyszukiwania, sortowania, modyfikowania, przekształcania lub inicjowania zawartości obiektów klasy kontenera.
Algorytmy dostarczane przez STL mają wbudowane funkcje, które mogą bezpośrednio operować na złożonej strukturze danych, zamiast konieczności samodzielnego pisania algorytmów.
Na przykład, Funkcja reverse () w STL może zostać użyta do odwrócenia połączonej listy.
# 3) Iteratory
Iteratory są bardzo ważną i wyróżniającą cechą STL. Iteratory to konstrukcje używane do przechodzenia przez obiekty kontenera. Podobnie jak indeksy, których używamy do przechodzenia przez tablice, Iteratory działają na obiektach klasy kontenera i mogą być używane do przechodzenia przez dane.
Pojemniki
Kontenery przechowują obiekty i dane. Są to zasadniczo klasy ogólne oparte na szablonach.
Kontenery w STL są podzielone na następujące typy:
wiedza z dziedziny opieki zdrowotnej dla testerów pdf
# 1) Pojemniki sekwencyjne
Pojemniki, do których można uzyskać dostęp w sposób sekwencyjny lub liniowy, są określane jako pojemniki sekwencyjne.
Tablice, wektory, listy, deques to kontenery STL, które przechowują dane w sposób liniowy i są dostępne w sposób sekwencyjny.
# 2) Kontenery asocjacyjne
Kontenery asocjacyjne to kontenery implementujące posortowane struktury danych. Te pojemniki można szybko przeszukać. Niektórzy Przykłady kontenerów asocjacyjnych to Mapa, Zestaw, MultiMap, Multiset itp. Kontenery te są zwykle implementowane w postaci pary klucz / wartość.
# 3) Adoptery kontenerów
Adaptery kontenerów są kontenerami sekwencyjnymi, jednak są implementowane poprzez udostępnienie innego interfejsu. Dlatego kontenery, takie jak queue, deque, stack i priorytet-queue, są klasyfikowane jako jednostki przyjmujące kontener.
Iteratory
Iteratory to konstrukcje, których używamy do przechodzenia lub przechodzenia przez kontenery w STL. Iteratory są bardzo ważne w STL, ponieważ działają jako pomost między algorytmami i kontenerami. Iteratory zawsze wskazują na kontenery iw rzeczywistości algorytmy działają na iteratorach, a nigdy bezpośrednio na kontenerach.
Iteratory są następujących typów:
- Iteratory wejściowe: Najprostszy i jest używany głównie w algorytmach jednoprzebiegowych.
- Iteratory wyjściowe: Takie same jak iteratory wejściowe, ale nie są używane do przechodzenia.
- Dwukierunkowe Iteratory: Te iteratory mogą poruszać się w obu kierunkach.
- Iteratory do przodu: Może być używany tylko do przodu, jeden krok na raz.
- Iteratory o dostępie swobodnym: To samo co wskaźniki. Można użyć do uzyskania losowego dostępu do dowolnego elementu.
Algorytmy
Algorytmy to zestaw funkcji lub metod udostępnianych przez STL, które działają na kontenerach. Są to funkcje wbudowane i mogą być używane bezpośrednio z kontenerami STL i iteratorami zamiast pisania własnych algorytmów.
STL obsługuje następujące typy algorytmów:
- Algorytmy wyszukiwania
- Algorytmy sortowania
- Modyfikowanie lub manipulowanie algorytmami
- Algorytmy niemodyfikujące
- Algorytmy numeryczne
- Algorytmy Min / Max
Jak sugeruje każdy z typów algorytmów, algorytmy te można wykorzystać do osiągnięcia różnych funkcji w kontenerach STL, takich jak wyszukiwanie, sortowanie, przekształcanie danych w kontenerach, znajdowanie wartości min / max itp.
Wniosek
To jest krótkie wprowadzenie do biblioteki szablonów standardowych. W naszych nadchodzących samouczkach dowiemy się więcej o każdym z kontenerów, algorytmach i iteratorach.
=> Sprawdź całą serię szkoleń DARMOWYCH w języku C ++ tutaj.