Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. // Iniciar Lista
  2. Lista inicLista()
  3. {
  4. Lista lst;
  5. // Aloca espaço na memória atribuindo todos os valores a zero
  6. lst = (Lista)malloc(sizeof(struct TLista));
  7. lst->longitude = 0;
  8. lst->iterador = NULL;
  9. lst->primeiro = NULL;
  10. lst->ultimo = NULL;
  11. return lst;
  12. }
  13.  
  14. // Primeiro elemento da lista
  15. void primLista(Lista lst)
  16. {
  17. // Iterador no primeiro elemento da lista
  18. lst->iterador = lst->primeiro;
  19. }
  20.  
  21. // Último elemento da lista
  22. void ultLista(Lista lst)
  23. {
  24. // Põe o iterador no último elemento da lista
  25. lst->iterador = lst->ultimo;
  26. }
  27.  
  28. //
  29. void posLista(Lista lst, int pos)
  30. {
  31.  
  32. if (lst->longitude > 0 && pos >= 1 && pos <= lst->longitude)
  33. {
  34.  
  35. int i;
  36. for (i = 1, lst->iterador = lst->primeiro; i < pos; i++, lst->iterador = lst->iterador->prox)
  37. {
  38. }
  39. }
  40. else
  41. {
  42. lst->iterador = NULL;
  43. }
  44. }
  45.  
  46. // Define o final da lista
  47. int fimLista(Lista lst)
  48. {
  49.  
  50. return (lst->iterador == NULL);
  51. }
  52.  
  53. void segLista(Lista lst)
  54. {
  55.  
  56. if (lst->iterador == NULL)
  57. {
  58. printf("\n erro: iterador indefindio \n");
  59. }
  60. else
  61. {
  62. lst->iterador = lst->iterador->prox;
  63. }
  64. }
  65.  
  66. // Mostra o valor do iterador
  67. TipoL infoLista(Lista lst)
  68. {
  69. if (lst->iterador == NULL)
  70. {
  71. printf("\n erro: iterador indefinido \n");
  72. return NULL;
  73. }
  74. else
  75. return lst->iterador->info;
  76. }
  77.  
  78. int longLista(Lista lst)
  79. {
  80. return lst->longitude;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement