libdo

Untitled

Oct 31st, 2017
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #ifndef LISTA_H_
  2. #define LISTA_H_
  3.  
  4. typedef struct celda * TPosicion;
  5. typedef void * TElemento;
  6.  
  7. typedef struct celda {
  8. TElemento elemento;
  9. struct celda * proxima_celda;
  10. } * TCelda;
  11.  
  12. typedef struct lista {
  13. unsigned int cantidad_elementos;
  14. TCelda primer_celda;
  15. } * TLista;
  16.  
  17.  
  18.  
  19. //Retorna una nueva lista vacia.
  20. TLista lista_crear();
  21.  
  22. //Agrega el elemento elem en la posición anterior a pos, dentro de la lista.
  23. int l_insertar(TLista lista, TPosicion pos, TElemento elem);
  24.  
  25. //Elimina un elemento de la lista segun la posicion pasada como parametro
  26. //Si la posicion pasada nula, finaliza la ejecucion con error LST_POS_INV
  27. int l_eliminar(TLista lista, TPosicion pos);
  28.  
  29. // Retorna la primer posición de la lista.
  30. TPosicion l_primera(TLista lista);
  31.  
  32. // Retorna la última posición de la lista.
  33. TPosicion l_ultima(TLista lista);
  34.  
  35. // Retorna la posición anterior a pos en la lista.
  36. TPosicion l_anterior(TLista lista, TPosicion pos);
  37.  
  38. //Retorna la posición siguiente a pos en la lista.
  39. TPosicion l_siguiente(TLista lista, TPosicion pos);
  40.  
  41. //Retorna el elemento correspondiente a la posición pos.
  42. TElemento l_recuperar(TLista lista, TPosicion pos);
  43.  
  44. //Retorna la cantidad de elementos de la lista.
  45. //Si la lista no esta inicializada finaliza la ejecucion con error LST_NO_INI
  46. int lista_cantidad(TLista lista);
  47.  
  48. void l_destruir();
  49.  
  50.  
  51. #endif /* LISTA_H_ */
Add Comment
Please, Sign In to add comment