Advertisement
Jong

List sample

Dec 6th, 2011
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct NODE {
  5.     int info;
  6.     struct NODE* next;
  7. } Node;
  8.  
  9. Node* create_list(int size)
  10. {
  11.     Node *first = (Node*)malloc(sizeof(Node) * 1), *last = first;
  12.     int i = 1;
  13.     for(; i <= size; i++)
  14.     {
  15.         int info;
  16.         printf("Enter list item #%d:\n", i);
  17.         scanf("%d", &info);
  18.         last->info = info;
  19.         if(i != size)
  20.         {
  21.             last->next = (Node*)malloc(sizeof(Node) * 1);
  22.             last = last->next;
  23.         }
  24.         else last->next = NULL; ///since we use malloc, last->next will be just a random number, but we want it to be 0.
  25.     }
  26.     return first;
  27. }
  28.  
  29. void print_list(Node* node)
  30. {
  31.     int i = 1;
  32.     while(node)
  33.     {
  34.         printf("List item %d = %d\n",i++,node->info);
  35.         node = node->next;
  36.     }
  37. }
  38.  
  39. void free_list(Node* node)
  40. {
  41.     while(node)
  42.     {
  43.         Node* temp = node->next;
  44.         free(node);
  45.         node = temp;
  46.     }
  47. }
  48.  
  49. void main()
  50. {
  51.     int size;
  52.     Node* node;
  53.     printf("Enter list size:\n");
  54.     scanf("%d", &size);
  55.     node = create_list(size);
  56.     print_list(node);
  57.     free_list(node);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement