standard template library
Cjelovit pregled knjižnice standardnih predložaka (STL):
Standardna biblioteka predložaka (STL) na C ++ zbirka je klasa predložaka koje pružaju podatkovne strukture kao što su nizovi, vektori, red čekanja itd. STL je knjižnica koja se sastoji od spremnika, algoritama i iteratora.
Kako se STL sastoji od zbirke klasa predložaka, to je generalizirana knjižnica koja je neovisna o vrstama podataka.
=> Ovdje pročitajte opsežnu seriju vodiča za obuku za C ++.
Što ćete naučiti:
java prosljeđuje niz metodi referencom
Komponente STL-a
STL se uglavnom sastoji od sljedećih komponenata koje su spomenute u nastavku:
# 1) Spremnici
Spremnik je zbirka objekata određene vrste strukture podataka. U STL-u imamo razne vrste klasa spremnika kao što su Array, vector, queue, deque, list, map, set itd. Ti su spremnici generičke prirode i implementirani su kao predlošci klasa.
Posude su dinamične prirode i mogu se koristiti za držanje različitih vrsta predmeta.
# 2) Algoritmi
Algoritmi su metode ili funkcije koje djeluju na spremnike. Korištenjem algoritama koje pruža STL možemo imati metode pretraživanja, sortiranja, modificiranja, transformiranja ili inicijalizacije sadržaja predmeta klase spremnika.
Algoritmi koje pruža STL imaju ugrađene funkcije koje mogu izravno raditi na složenoj strukturi podataka, umjesto da sami moramo pisati algoritme.
Na primjer, Funkcija reverse () u STL-u može se koristiti za preokretanje povezanog popisa.
# 3) Iteratori
Iteratori su vrlo važna i prepoznatljiva značajka STL-a. Iteratori su konstrukcije koje se koriste za prolazak objektima spremnika. Slično indeksima koje koristimo za prolazak kroz nizove, iteratori djeluju na objekte klase spremnika i mogu se koristiti za prolazak kroz podatke.
Spremnici
Spremnici spremaju predmete i podatke. U osnovi su to generičke klase temeljene na predlošcima.
naredba sort u linuxu s primjerima
Spremnici u STL-u podijeljeni su u sljedeće vrste:
# 1) Sekvencijalni spremnici
Smatra se da su spremnici kojima se može pristupiti na sekvencijalni ili linearni način sekvencijalni spremnici.
Nizovi, vektori, popisi, dekeri su STL spremnici koji linearno pohranjuju podatke i kojima se može pristupiti sekvencijalno.
# 2) Asocijativni spremnici
Asocijativni spremnici su spremnici koji implementiraju razvrstane strukture podataka. Ovi se spremnici brzo pretražuju. Neki od Primjeri asocijativnih spremnika su Map, Set, MultiMap, Multiset itd. Ti se spremnici obično implementiraju u paru ključ / vrijednost.
# 3) Usvojitelji kontejnera
Usvajatelji spremnika su sekvencijalni spremnici, međutim oni se provode pružanjem drugačijeg sučelja. Prema tome, spremnici poput reda, deque, stog i reda prioriteta klasificirani su kao usvojitelji spremnika.
Iteratore
Iteratori su konstrukcije koje koristimo za prelazak ili prolazak kroz spremnike u STL-u. Iteratori su vrlo važni u STL-u jer djeluju kao most između algoritama i spremnika. Iteratori uvijek upućuju na spremnike, a zapravo algoritmi zapravo djeluju na iteratorima, a nikad izravno na spremnicima.
Iteratori su sljedećih vrsta:
- Ulazni pokretači: Najjednostavniji i koristi se uglavnom u jednoprolaznim algoritmima.
- Izlazni ponovitelji: Isto kao ulazni iteratori, ali se ne koristi za prelazak.
- Dvosmjerni ponovitelji: Ti se iteratori mogu kretati u oba smjera.
- Naprijed Iteratori: Može se koristiti samo u smjeru naprijed, korak po korak.
- Iteratori slučajnog pristupa: Isto kao pokazivači. Može se koristiti za slučajni pristup bilo kojem elementu.
Algoritmi
Algoritmi su skup funkcija ili metoda koje pruža STL koje djeluju na spremnike. To su ugrađene funkcije i mogu se koristiti izravno sa STL spremnicima i iteratorima umjesto pisanja vlastitih algoritama.
STL podržava sljedeće vrste algoritama:
- Algoritmi pretraživanja
- Algoritmi sortiranja
- Izmjena ili manipulacija algoritmima
- Algoritmi koji se ne mijenjaju
- Numerički algoritmi
- Min / Max algoritmi
Kao što sugerira svaka od vrsta algoritama, ti se algoritmi mogu koristiti za postizanje različitih funkcionalnosti u STL spremnicima, poput pretraživanja, sortiranja, transformiranja podataka u spremnicima, pronalaženja min / max vrijednosti itd.
Zaključak
Ovo je kratko predstavljanje Knjižnice standardnih predložaka. U našim predstojećim vodičima naučit ćemo više o svakom od spremnika, algoritama i iteratora.
=> Ovdje pogledajte kompletnu C ++ BESPLATNU seriju treninga.