L5b
-
Upload
leslie-nelson -
Category
Documents
-
view
214 -
download
0
description
Transcript of L5b
Structuri de Date (1CC)
L A B O R A T O R 5(b)
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 coliziuni incepe pe o linie separata (k=cheie,v=valoare, ambele intregi). O noua pereche se adauga la sfarsitul 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