Advertisement
Guest User

Untitled

a guest
Feb 20th, 2018
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct item* link;
  5.  
  6. struct item{
  7. int val;
  8. link next;
  9. };
  10. typedef struct{
  11. link head;
  12. link tail;
  13. int n;
  14. }tab;
  15.  
  16. link newNode(int val, link next);
  17. void insInTail(tab *l, int val);
  18.  
  19. int main()
  20. {
  21. int i,c = 0;
  22. link x, t;
  23. tab *lista = malloc(sizeof(tab));
  24. lista->head = NULL;
  25. lista->tail = NULL;
  26. lista->n = 0;
  27. for (i = 0; i<=10; i++)
  28. insInTail(lista,i);
  29.  
  30. for (x = lista->head; x != NULL; x = x->next)
  31. printf("%d\n", x->val);
  32.  
  33. //cancellazione
  34. for (x=lista->head; x!=NULL; x=x->next) {
  35. if ((c%2) == 0){
  36. t = x->next;
  37. x->next = x->next->next;
  38. free(t);
  39. }
  40. c++;
  41. }
  42.  
  43. for (x = lista->head; x != NULL; x = x->next)
  44. printf("%d\n", x->val);
  45.  
  46. return 0;
  47. return 0;
  48. }
  49. link newNode(int val, link next) {
  50. link x = malloc(sizeof *x);
  51. if (x==NULL)
  52. return NULL;
  53. x->val = val;
  54. x->next = next;
  55. return x;
  56. }
  57. void insInTail(tab *l, int val){
  58. if (l->head == NULL){
  59. l->head = l->tail = newNode(val, NULL);
  60. }
  61. else{
  62. l->tail->next = newNode(val, NULL);
  63. l->tail = l->tail->next;
  64. }
  65. return;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement