L5a

download L5a

of 2

description

l5a

Transcript of L5a

Structuri de Date (1CC)

L A B O R A T O R 5(a)

Dictionar ca tabel de dispersie

1. Sa se defineasca urmatoarele tipuri de date :

Nod : nod de lista inlantuita care contine o cheie si o valoare (intregi) Map: tip dictionar, ca structura cu un vector de pointeri Nod* si cu dimensiunea vectorului

Sa se defineasca urmatoarele functii pentru operatii cu un dictionarrealizat ca tabel de dispersie:

void init (Map & d, int n);// initializare dictionar (vector de n pointeri) void put (Map & d,int k,int v); // pune in dictionar cheia k si valoarea v int get (Map d,int k);// scoate din d valoarea asociata cheii k void print (Map d);// afisare dictionar

Functia "put" verifica daca exista o pereche cu cheia k; daca nu exista atuncise adauga perechea (k,v), iar daca exista cheia k atunci se inlocuieste valoareaasociata ei cu valoarea v (primita ca argument de put).

Fiecare pereche se afiseaza sub forma k:v si fiecare lista de sinonime incepe pe o linie separata (k=cheie,v=valoare, ambele intregi). O noua pereche se adauga la inceputul listei de coliziuni. Sa se verifice functiile anterioare cu urmatorul program:

int main () { int i,n=30; // n=nr de chei generate Map d; // dictionar init (d,7); for (i=1;i