Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Nod
- {
- int numar; //Memorarea efectiva a numarului
- struct Nod* urmator; //Memorarea legaturii catre urmatorul nod
- };
- void parcurgere(struct Nod* n)
- {
- while (n != NULL) // Cat timp nu am ajuns la NULL (capat)
- {
- printf(" %d ", n->numar); // Afisam numarul
- n = n->urmator; // Mutam nodul "n" catre urmatorul din lista
- }
- printf("\n");
- }
- void stergereElement(struct Nod* predecesor)
- {
- struct Nod* victima = predecesor->urmator;
- predecesor->urmator = predecesor->urmator->urmator;
- free(victima); // Elibereaza memoria
- }
- int main()
- {
- //Delaram cele 3 noduri
- struct Nod* n1 = NULL;
- struct Nod* n2 = NULL;
- struct Nod* n3 = NULL;
- /* Alocam memorie pentru cele 3 noduri
- Fara astea 3 linii nu merge deloc programul
- In C++ in schimb se aloca automat si nu e nevoie sa scrii mizeria asta */
- n1 = (struct Nod*)malloc(sizeof(struct Nod));
- n2 = (struct Nod*)malloc(sizeof(struct Nod));
- n3 = (struct Nod*)malloc(sizeof(struct Nod));
- //Ii dam la primul valoarea 13 si il legam de al doilea
- n1->numar = 13;
- n1->urmator = n2;
- //Ii dam la al doilea valoarea 17 si il legam de al treilea
- n2->numar = 17;
- n2->urmator = n3;
- //Ii dam la al treilea valoarea 2 si il legam de NULL (nimic)
- n3->numar = 2;
- n3->urmator = NULL; //daca e NULL, inseamna ca nu mai vine nimic (deci e capat)
- parcurgere(n1);
- stergereElement(n1); // Va sterge elementul ce urmeaza dupa n1 (adica n2)
- parcurgere(n1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement