Afisare(nod *n) { if (n != NULL) { printf(" %c", n->c); Afisare(n->s); Afisare(n->d); } return 0; }
int main() { // declarare lista vida Element **array; int nrListe, j, sumElemente = 0; printf("Cate liste vrei?"); scanf("%d", &nrListe); array = create_array(nrListe, &sumElemente); // Afisare liste for(j=0;j<nrListe;j++) { printf("\n Lista [%d]\n", j); Afisare(array[j]); } printf("\n"); // Definim un nou heap in care vom tine toate elementele struct heapStruct *h; h = initHeap(); // Testam adaugarea primelor elemente din fiecare lista for(j=0;j<nrListe;j++) insert(h, array[j]->valoare, j); printHeap(h); // Incepem sa punem primul element de pe heap primul int *result; result = (int*)malloc(sizeof(int)*sumElemente); int c = 0; printf("Marimea la heap: %d", nrListe); printf("Cate elemente vom avea: %d", sumElemente); while( nrListe > 0) { heapElement min; int i, k; min = removeMin(h); i = min.list_index; k = min.value; printf("\n [Valoare|index] = [%d|%d]\n", k, i); nrListe--; // Trebuie sa stergem nodul cu indexul i StergereElement(&array[i]); result[c++] = k; if (array[i] != NULL && c < 100) { insert(h, array[i]->valoare, i); nrListe++; } } int i; printf("\n"); for(i=0;i<sumElemente;i++) printf("%d ", result[i]); printf("\n"); // In absenta lui free apareau anumite erori interesante free(array); return 0; }
main() { nod *n, *p, *q; clrscr(); printf("\n"); printf(" Arborele afisat in preordine (+ dupa fiecare nod nr. de fii) : \n"); printf(" "); gets(s); n= CreareArbore(NULL); Afisare(n); for (p= n; p->s != NULL; p= p->s); printf("%c... ", p->c); q= p; for (p= q; p->t != NULL; p= p->t); printf("%c !!!", p->c); getch(); return 0; }
main() { int i, j; clrscr(); printf("\n"); CitireDate(); k= 1; for (i= 1; i <= m; i++) for (j= 1; j <= n; j++) if (a[i][j] == 1) { k++; a[i][j]= k; Back(2, i, j); } Afisare(); return 0; }