Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. void elimLista(Lista lst)
  2. {
  3.  
  4. if (lst->iterador != NULL)
  5. {
  6.  
  7. pListaNo noAserDesalocado;
  8. if (lst->iterador == lst->primeiro) // se o iterador estiver sobre o primeiro elemento
  9. {
  10. if (lst->longitude == 1)
  11. {
  12.  
  13. noAserDesalocado = lst->iterador;
  14. lst->iterador = NULL;
  15. lst->primeiro = NULL;
  16. lst->ultimo = NULL;
  17. lst->longitude--;
  18. free(noAserDesalocado);
  19. }
  20. else
  21. {
  22.  
  23. noAserDesalocado = lst->iterador;
  24. lst->iterador = lst->iterador->prox;
  25. //lst->primeiro = lst->primeiro->prox;
  26. lst->primeiro = lst->iterador;
  27. lst->longitude--;
  28. free(noAserDesalocado);
  29. }
  30. }
  31. else // iterador esta sobre qualquer outro no que nao o primeiro no
  32. {
  33. //iterador sobre no intermediario ou o ultimo no
  34. pListaNo p;
  35. for (p = lst->primeiro; p->prox != lst->iterador; p = p->prox)
  36. {
  37. }
  38. noAserDesalocado = lst->iterador;
  39. p->prox = lst->iterador->prox;
  40.  
  41. if (lst->iterador == lst->ultimo) // se o iterador estiver sobre o utlimo no
  42. lst->ultimo = p;
  43.  
  44. lst->iterador = lst->iterador->prox;
  45. free(noAserDesalocado);
  46. lst->longitude--;
  47. }
  48. }
  49. else
  50. {
  51. printf("\n erro: iterador indefinido \n");
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement