TDA-Vector

Laborator
8/10 (4 voturi)
Conține 1 fișier: doc
Pagini : 4 în total
Cuvinte : 1027
Mărime: 8.59KB (arhivat)
Publicat de: Theodor Marginean
Puncte necesare: 0

Extras din laborator

Pentru folosirea containerului vector se da antetul:

#include <vector>

TDA vector generalizeaza conceptul de tablou cu o dimensiune. Abstractizarea permite marirea sau micsorarea colectiei în cursul executiei.

Accesul la orice element se face în timp constant. Operatorul de indexare nu asigura verificarea indicelui (daca se încadreaza în domeniu).

Inserarea si stergerea la sfârsit se face în O(1), iar în celelalte pozitii în O(n).

Fiind un container parametrizat, la instantiere se declara:

vector<int> x(10,1); //vector de 10 intregi initializati cu 1

vector<double> y(20);//vector de 20 reali neinitializati

1. Operatii asupra TDA vector.

1.constructori

vector<T> v; //c-tor implicit

vector<T>v(int); //c-tor cu dimens. initializata

vector<T>v(int, T); //c-tor cu dimensiune si

//valoare initiala

vector<T>v(vec); //c-tor de copiere

2.acces la elemente

v[i] //elementul din pozitia i

v.front() //primul element

v.back() //ultimul element

3.inserari

v.push_back(T); //adaugare element la sfarsit

v.insert(iterator, T);//inserare element dupa iterator

v.swap(vector<T>); //interschimb cu alt vector

4.stergeri

v.pop_back(); //sterge ultimul element

v.erase(iterator); //sterge elementul indicat de iterator

v.erase(iterator, iterator); //sterge elementele din interval

Folosirea functiilor insert() si erase() invalideaza toti iteratorii.

5. dimensionari

v.capacity(); //memoria rezervata pt.vector

v.size(); //memoria ocupata de vector

v.resize(int, T);//schimbarea dimensiunii

v.reserve(); //realocare memorie pt.vector

v.empty(); //test vector vid

6. iteratori

vector<T>::iterator it; //declara un iterator

v.begin(); //iterator de pornire(la primul elem)

v.end(); //iterator de oprire(dupa ultimul)

2. Algoritmi generici.

//pune in intervalul[p,u) valoarea val

template <class FwdIt, class T>

void fill(FwdIt p,FwdIt u, const T& val)

//copiaza elementele din intervalul [p,u) la destinatia d,

//intoarce pozitia de dupa ultima

template<class InIt, class OutIt>

OutIt copy(InIt p, InIt u, OutIt d);

//determina prima pozitie i din intervalul[p,u)astfel ca *i<*j sa fie fals

template<class FwdIt>

FwdIt max_element(FwdIt p, FwdIt u);

//determina prima pozitie i din intervalul[p,u)astfel ca pr(*i,*j) sa fie fals

template<class FwdIt, class Pred>

FwdIt max_element(FwdIt p, FwdIt u, Pred pr);

Preview document

TDA-Vector - Pagina 1
TDA-Vector - Pagina 2
TDA-Vector - Pagina 3
TDA-Vector - Pagina 4

Conținut arhivă zip

Alții au mai descărcat și

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Programare dinamică

On donne une phrase dans laquelle manquent les espaces entre les mots. On demande de reconstituer la phrase, ayant comme base un dictionnaire...

Liste

5. Liste Problema 5.1 Rezolvare: #include<stdio.h> #include<conio.h> #include<stdlib.h> struct lista { int val; lista *urm; }; lista...

Crearea și Vizualizarea unei Liste Liniare

Tema1: Scrieţi programul C care realizează crearea şi vizualizarea unei liste liniare implementată prin tipul pointer,dacă inserarea se face în...

Noțiuni introductive privind programarea în C++

Laborator 2 NOŢIUNI INTRODUCTIVE PRIVIND PROGRAMAREA ÎN C++ 1. Scopul lucrării Însuşirea cunoştinţelor de bază privind modalitatea de realizare...

Te-ar putea interesa și

Structuri de Date și Algoritmi

De ce SDA? Structuri de date : metode de organizare a unei mari cantitati de informatie Analiza algoritmilor : estimarea timpului de executie si...

Noțiuni de matematică folosite la cursul de elemente de grafică pe calculator

Alaturi de folosirea algoritmilor de calcul, pentru a rezolva o problema cu ajutorul calculatorului este necesara modelarea datelor specifice...

Ai nevoie de altceva?