Vector vector de vector Stl (vector) - matrice dinamică c

Vector vector de vector Stl (vector) - matrice dinamică c

În plus față de matricele din C ++, există și containere care vă permit să stocați date într-un mod diferit și, în plus, să le aplicați diferite funcții (căutare, sortare etc.). Astăzi veți afla despre unul dintre containerele - vector (vector)

Poate că ați întâlnit deja o astfel de problemă care matrice în C ++ sunt de dimensiuni limitate, iar noi nu știm numărul de elemente necesare în matrice. În astfel de cazuri, este necesară utilizarea programării dinamice. Ie alocați memoria elementelor matricei, dacă este necesar, adăugați un element. Practic, în ++ poate fi implementat manual, dar de ce? dacă există un vector de clasă specială. Ne permite să creăm matrice cu lungime variabilă, în funcție de situație.

Pentru a crea un vector trebuie să vă conectați.

Apoi, crearea unui vector nu este aproape diferită de crearea unei variabile și / sau a unei matrice:

Pentru a scrie unui vector, trebuie doar să tastați numele vectorului. Push_back (ce să puneți)

Apelul la elementul n nu se deosebește de referința la elementul matricei:

Pentru a șterge ultimul element al vectorului, utilizați funcția pop_back ()

Câteva funcții utile:

iteratori
begin () - un iterator pe primul element;
end () - un iterator pe elementul care merge după ultimul;
rbegin () - iterator pentru ultimul element (pentru algoritmi invers);
rend () este un iterator pe poziția înaintea primului element (pentru algoritmi invers).

alocarea elementelor
(primul, InputIterator ultima) - ștergeți toate elementele și introduceți elemente din intervalul [first, last);
atribuiți (size_type, const T t) - ștergeți toate elementele și inserați n elemente cu o valoare de t;
swap (referință x, referință y) - schimbați valorile elementelor x și y (similare cu funcția globală).

accesul la articole
la (size_type n) - accesul la elementul cu indexul n, cu o valoare incorectă de n, se ridică o excepție;
back () - accesul la ultimul element;
front () - acces la primul element.

Dacă nu aveți nevoie de o excepție, puteți utiliza operația supraîncărcată [] pentru a accesa elementele.

ștergerea elementelor
clear () - elimina toate elementele din vector;
șterge (poziția iterator) - elimină elementul specificat și returnează iteratorul la următorul element sau sfârșit ();
ștergeți (iteratorul în prealabil, ultimul iterator) - elimină elementele din intervalul [prima, ultima).

dimensiunea vectorului
empty () - returneaza true daca dimensiunea vectorului este 0;
rezerva (size_type n) - spațiu de rezervă pentru n elemente;
capacitate () - returnează numărul de elemente care pot fi stocate în vector;
resize (size_type sz) - redistribuie dimensiunea curentă a vectorului;
redimensionarea (size_type sz, T c) - perevydelyaet rezolutie curent vector. În cazul în care noua dimensiune este mai mare decât cea anterioară, noile elemente sunt setate la c, în caz contrar valoarea implicită pentru tipul de T;
size () - returneaza numarul de elemente;
max_size () - dimensiunea maximă posibilă a vectorului.

inserarea elementelor
inserați (poziția iterator, size_type n, const T x) - introduce n elemente cu valoarea lui x în poziția specificată;
inserați (poziția iterator, const T x) - introduce un element cu valoarea lui x în poziția specificată;
inserați (poziția iterator, InputIterator primul, InputIterator ultima) - introduce copii ale elementelor de domeniu [primul, ultimul] în poziția specificată.

suport stivuitor
pop_back () - șterge ultimul element;
push_back (const T x) - adăugați un element la sfârșit.

operațiuni supraîncărcate
[] - operația de indexare, nu generează o excepție atunci când depășește limitele matricei;
= - atribuiți un vector vectorial al elementelor din al doilea (v1 = v2);
== - determina dacă doi vectori sunt egali (v1 == v2);
!= - determina dacă doi vectori sunt egali (v1! = v2);
- mai mult de un vector decât celălalt (v1> v2);
= - mai mare sau egal cu un vector relativ la celălalt (v1> = v2).

vector
Pentru tipul de bool în stl este introdusă o specializare specială a șablonului. Ca urmare, dimensiunea matricei este mai mică de aproximativ opt ori - 1 bit pe element. Și, de asemenea, a adăugat o metodă suplimentară:
flip () - Elemente inerte.

Ultimele de pe forum

dimaCyberpunk → Joc în curs de dezvoltare: Cronici de cyberpunk
Astăzi, este disponibil un buton care poate fi apăsat pentru a elibera jocul. Voi aștepta până pe 7, dar totul.

ganny → Free Slot Machines Online
Cazinoul nu poate fi considerat câștig. E doar un joc. Aici fie câștigat, fie pierdut.

Prietenii noștri

Articole similare