miercuri, 15 februarie 2017

Utilizarea vectorilor în cpp

Colecția de elemente vector face parte din STL (Standard Template Library) care asigura un grup de containere, algoritmi și iteratori pe lângă multe alte lucruri. Algoritmi sunt un grup de funcții care se aplica elementelor din containere ca de exemplu sortarea, căutarea,  copierea, parcurgerea, inserarea și ștergerea elementelor. Iteratorii sunt obiecte care identifica elementele din colecții și care sunt necesari algoritmilor. Colectia STL de containere este alcatuita din:
  1. deque
  2. list
  3. map
  4. multimap
  5. multiset
  6. priority_queue
  7. queue
  8. set
  9. stack
  10. vector
Vectorii sunt colecții de elemente de același tip,  care au dimensiune variabila. Pentru utilizarea clasei vector trebuie inclusa librăria de sistem vector: #include <vector>.
Exista mai multi constructori in clasa vector:
  1. vector <string> myVector ;//declararea unui vector.
  2. vector<string> myVector(10); //dimensiunea vectorului este de 10 elemente
  3. vector<string> myVector(10, "cuvant"); //vector cu 10 elemente "cuvant"
  4. vector<string>myVector2(myVector) ;//vector initializat cu elementele altui vector

Utilizarea iteratorilor pentru parcurgerea vectorilor 

Utilizarea containerelor la adevaratul lor potential nu se poate face fara ajutorul iteratorilor. Iteratorii sunt valori care identifica elementele particulare dintr-o colectie. Declararea unui iterator se face foarte simplu:
  1. vector<string>::iterator myIterator;
  2. vector<string>::const_iterator iter; //nu poate fi schimbat elementul la care se refera
Metodele din iterator:
  1. begin(); //returneaza un iterator care se refera la primul element din container
  2. end(); //acesta pointeaza dupa ultimul element din container
  3. insert(container.begin(), "Luni");//insereaza un element la inceput
  4. erase(colectie.begin()+2); //sterge al 3 element din colectie

Utilizarea algoritmilor

Acestia sunt utilizati pentru operatii de cautare, randomizare si sortare. Acesti algoritmi sunt generici ceea ce ii face utilizabili cu diferite tipuri de containere. Pentru a putea fi utilizati este necesara includerea: #include <algorithn>.
RESURSE:
https://gist.github.com/mhcrnl/0075302109c161f8b3b6683afa29f2a6 (descarcati fila cod)
https://github.com/mhcrnl/2017 (intregul proiect cu cod in Code::Blocks)

Niciun comentariu:

Trimiteți un comentariu