Advertisement
davide1409

list.h

Nov 23rd, 2021
725
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. typedef struct node{
  2.     int val;
  3.     struct node *next;
  4. } node_t;
  5.  
  6. typedef struct list{
  7.     struct node *head;
  8.     struct node *tail;
  9. }list_t;
  10.  
  11. int init_list(list_t* L); // -1 se L == NULL, 0 se L != NULL
  12. int get_val(node_t* nodo); // exit(-20) se nodo NULL
  13. int empty(list_t* L); // -1 se L == NULL
  14. node_t* head(list_t* L); // NULL se lista vuota o Nulla
  15. node_t* tail(list_t* L); // NULL se lista vuota o Nulla
  16. node_t* next(node_t* nodo); // ritorna NULL solo se il nodo è NULL o il nodo è la coda
  17.  
  18. node_t* prev(list_t* L, node_t* nodo); // exit(-1) se L == NULL
  19. // prev mi torna NULL se:
  20. // 1) nodo == head
  21. // 2) lista vuota
  22. // 3) il nodo non c'è
  23.  
  24.  
  25. node_t* insert(list_t* L, node_t* nodo, int val);
  26. // exit -1 se L == NULL
  27. // insert ritorna NULL se:
  28. // 1) allocazione nuovo nodo fallisce
  29.  
  30.  
  31. node_t* delete(list_t* L, node_t* nodo); // ritorna il prev
  32. // exit -1 se L == NULL
  33. // delete ritorna NULL se:
  34. // 1) la lista è vuota
  35. // 2) se nodo == NULL
  36. // 3) se il nodo non c'è
  37. // 4) se nodo == head
  38.  
  39. void print_list(list_t* L); // stampa la lista
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement