Documente Academic
Documente Profesional
Documente Cultură
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 execuie sporite. Ele sunt mai eficiente, mai robuste, mai portabile, mai uor de modificat i ntreinut. Componentele STL sunt: containerele, iteratorii, algoritmii, functorii (obiectele funcii) i adaptorii.
Containere.
Un container este un obiect care pstreaz o colecie de alte obiecte. Containerele (exceptnd string i ) sunt clase generice (parametrizate) n STL se folosesc dou tipuri de containere:
containere secveniale (vector, list, coad cu dou capete - deque) containere asociative (mulime, relaie) Un container secvenial pstreaz colecia de obiecte ntr-o ordine strict liniar.
Containerele asociative pstreaz informaiile din colecie sortate, ceea ce permite regsirea rapid a obiectelor din colecie, pe baza unei chei.
Vectorul (vector)
Constructor vector<T>v vector<T>v(n) vector<T>v(n,val) vector<T>v(v1) Accesor v[i] v.front() v.back() v.capacity() v.size() v.empty() v.begin() v.end() Efect creaz un vector vid creaz un vector cu n elemente creaz un vector cu n elemente iniializate cu val creaz un vector iniializat cu vectorul v1 Efect ntoarce elementul i ntoarce primul element ntoarce ultimul element ntoarce numrul maxim de elemente ntoarce numrul curent de elemente ntoarce true dac vectorul este vid ntoarce un iterator la nceputul vectorului ntoarce un iterator dup sfritul vectorului Complexitat e O(1) O(1) O(1) O(1) O(1) O(1) O(1) O(1) Complexi tate O(1) O(n) O(1) O(n) O(n) Complexi tate O(1) O(n) O(n) O(n)
Efect adaug o valoare la sfrit insereaz valoarea n poziia indexat de iterator terge valoarea de la sfrit terge valoarea indexat de iterator terge valorile din domeniul de iteratori
ntoarce ultimul element ntoarce numrul maxim de elemente ntoarce numrul curent de elemente ntoarce true dac deque-ul este vid ntoarce un iterator la nceputul deque-ului ntoarce un iterator dup sfritul deque-ului
O(1) O(1) O(1) O(1) O(1) O(1) Complexitate O(1) sau O(n) O(n) O(1) O(n) O(n)
Efect adaug o valoare la sfrit insereaz valoarea n poziia indexat de iterator terge valoarea de la sfrit terge valoarea indexat de iterator terge valorile din domeniul de iteratori
Lista (list)
Constructor list<T>L list <T>L(L1) Accesor L.front() L.back() L.size() L.empty() L.begin() L.end() Modificator L.push_front(val) L.push_back(val) L.insert(iter,val) L.pop_front() L.pop_back() L.erase(iter) L.erase(iter1,iter2) L.remove(val) L.remove_if(pred) L.reverse(pred) L.sort() L.sort(comp) L.merge(L1) Efect creaz o list vid creaz o list iniializat cu lista L1 Efect ntoarce primul element ntoarce ultimul element ntoarce numrul curent de element ntoarce true dac lista este vid ntoarce un iterator la nceputul listei ntoarce un iterator dup sfritul liste Efect adaug o valoare la nceput adaug o valoare la sfrit insereaz valoarea n poziia indexat de iterator terge valoarea de la nceput terge valoarea de la sfrit terge valoarea indexat de iterator terge valorile din domeniul de iteratori terge toate apariiile lui val n list terge toate elementelele care satisfac predicatul inverseaz lista sorteaz lista sorteaz lista folosind funcia de comparaie interclaseaz dou liste sortate Complexi tate O(1) O(n) Complexita te O(1) O(1) O(1) O(1) O(1) O(1) Complexita te O(1) O(1) O(1) O(1) O(1) O(1) O(1) O(n) O(n) O(n) O(nlogn) O(nlogn) O(n)
Stiva (stack)
Constructor stack<T>s Accesor s.top() s.size() s.empty() Modificator s.push(val) s.pop() Efect creaz o stiv vid Efect ntoarce elementul din vrf ntoarce numrul curent de elemente ntoarce true dac stiva este vid Efect pune o valoare n vrful stivei terge valoarea din vrful stivei Complexita te O(1) Complexi tate O(1) O(1) O(1)
Coada (queue)
Constructor queue<T>q Accesor q.front() q.back() q.size() q.empty() Modificator q.push(val) q.pop() Efect creaz o coad vid Efect ntoarce elementul din faa cozii ntoarce elementul din spatele cozii ntoarce numrul curent de elemente ntoarce true dac coada este vid Efect pune o valoare n spatele cozii terge valoarea din faa cozii Complexi tate O(1) Complexi tate O(1) O(1) O(1) O(1) Complexita te O(1) O(1)
Accesor m.find(ch) m.lower_bound(ch) m.upper_bound(ch) m.equal_range(ch) m.count(ch) m.size() m.empty() m.begin() m.end() Modificator
Complexitat e O(log n) O(log n) O(log n) O(log n) O(log n) O(1) O(1) O(1) O(1) Complexi tate
m.insert(iter,ch) m.insert(ch)
insereaz un element ch n m. ntoarce iterator la elementul ch din m insereaz un element ch n m.ntoarce pair<iterator,bool> bool este true dac inserarea a avut loc. Iterator indic cheia inserat
O(log n) O(log n)