Documente Academic
Documente Profesional
Documente Cultură
Curs13 STL
Curs13 STL
Biblioteca de Şabloane Standard (STL) asigură o abstractizare standardizată a datelor prin intermediul containerelor
şi o abstractizare procedurală prin intermediul algoritmilor.
Programele dezvoltate folosind STL beneficiază de o viteză de dezvoltare şi o viteză de execuţie sporite. Ele sunt mai
eficiente, mai robuste, mai portabile, mai uşor de modificat şi întreţinut.
Componentele STL sunt: containerele, iteratorii, algoritmii, functorii (obiectele funcţii) şi adaptorii.
Containere.
Un container este un obiect care păstrează o colecţie de alte obiecte. Containerele (exceptând string şi ) sunt clase
generice (parametrizate)
În STL se folosesc două tipuri de containere:
containere secvenţiale (vector, listă, coadă cu două capete - deque)
containere asociative (mulţime, relaţie)
Un container secvenţial păstrează colecţia de obiecte într-o ordine strict liniară.
Containerele asociative păstrează informaţiile din colecţie sortate, ceea ce permite regăsirea rapidă a obiectelor din
colecţie, pe baza unei chei.
Vectorul (vector)
Constructor Efect Complexitat
e
vector<T>v crează un vector vid O(1)
vector<T>v(n) crează un vector cu n elemente O(n)
vector<T>v(n,val) crează un vector cu n elemente iniţializate cu val O(n)
vector<T>v(v1) crează un vector iniţializat cu vectorul v1 O(n)
1
d.size() întoarce numărul curent de elemente O(1)
d.empty() întoarce true dacă deque-ul este vid O(1)
d.begin() întoarce un iterator la începutul deque-ului O(1)
d.end() întoarce un iterator după sfârşitul deque-ului O(1)
Stiva (stack)
Constructor Efect Complexitate
stack<T>s crează o stivă vidă O(1)
Coada (queue)
Constructor Efect Complexitat
e
queue<T>q crează o coadă vidă O(1)
2
e
q.front() întoarce elementul din faţa cozii O(1)
q.back() întoarce elementul din spatele cozii O(1)
q.size() întoarce numărul curent de elemente O(1)
q.empty() întoarce true dacă coada este vidă O(1)
3
Constructor Efect Complexitate
map<tip_ch,tip_val,comp_ch>r crează o relaţie vidă; sortarea elementelor după O(1)
cheie se face cu comp_ch