Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

#include <iostream>

using namespace std;


struct telefon {
char* nume;
int cod;
};
struct NodLista {
NodLista* next;
telefon info;
};
void dezalocarelista(NodLista*& rad) {
NodLista* aux = rad;;
while (aux) {
NodLista* temp = aux;
aux=aux->next;
free(temp->info.nume);
free(temp);
}
}
struct vectorTelefon {
telefon* vector;
int dim;
};
void dezalocareVector(vectorTelefon *&vect) {
for (int i = 0; i < vect->dim; i++) {
free(vect->vector[i].nume);
}
free(vect->vector);
free(vect);
}
struct MatriceTelefon {
telefon** matrice;
int rad,coloane;
};
void dezalocareMatrice(MatriceTelefon &mat) {
for (int i = 0; i < mat.rad; i++) {
for (int j = 0; j < mat.coloane; j++) {
free(mat.matrice[i][j].nume);
}
free(mat.matrice[i]);
}
free(mat.matrice);
}
struct NodHash {
NodHash* next;
telefon info;
};
struct Hash {
NodHash** vector;
int dim;
};
void dezalocareHash(Hash &rad) {
for (int i = 0; i < rad.dim; i++) {

if (rad.vector[i] != NULL) {
NodHash* aux = rad.vector[i];
while (aux) {
NodHash* temp = aux;
aux = aux->next;
temp->next = NULL;
free(temp->info.nume);
}
}
free(rad.vector[i]);
}
free(rad.vector);
}
struct HashLinear {
telefon** vector;
int dim;
};
void dezalocareHashLinear(HashLinear &h) {
for (int i = 0; i < h.dim; i++) {
if (h.vector[i] != NULL) {
free(h.vector[i]->nume);
free(h.vector[i]);
}
free(h.vector);
}
}
struct NodAbc {
NodAbc* stg, *drpt;
telefon info;
};
void dezalocareAbc(NodAbc*&rad){
if (rad) {
dezalocareAbc(rad->stg);
dezalocareAbc(rad->drpt);
free(rad->info.nume);
free(rad);
}
}
struct Heap {
telefon** vector;
int dimMaxim;
};
void dezalocareHeap(Heap &h) {
for (int i = 0; i < h.dimMaxim; i++) {
if (h.vector[i] != NULL) {
free(h.vector[i]->nume);
free(h.vector[i]);
}
free(h.vector);
}
}
//dezalocare Graf
void main() {

You might also like