Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. void deleteKey(NodeT* hTable[M], int key)
  2. {
  3. int numarCasuta=hFunction(key);
  4. if (hTable[numarCasuta] == NULL) {
  5. return;
  6. }
  7. NodeT* nodDeSters = NULL; /// Ca sa dealocam la final nodul scos
  8. if (hTable[numarCasuta]->val == key) { /// primul din lista e cel ce trebuie sters
  9. nodDeSters = hTable[numarCasuta];
  10. hTable[numarCasuta] = hTable[numarCasuta]->next; /// il punem pe urmatorul -> primul
  11. }
  12. else {
  13. NodeT* p = hTable[numarCasuta]; /// Parcurgem lista, cautand numarul
  14. while (p->next != NULL) { /// Nu suntem la ultimul element din lista
  15. if (p->next->val == key) { /// urmatorul lui P trebuie sters
  16. nodDeSters = p->next;
  17. p->next = p->next->next; /// urmatorul lui P devine urmatorul urmatorului lui P
  18. break;
  19. }
  20. }
  21. }
  22. free(nodDeSters); /// Dealocare
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement