Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct NODE {
- int info;
- struct NODE* next;
- } Node;
- Node* create_list(int size)
- {
- Node *first = (Node*)malloc(sizeof(Node) * 1), *last = first;
- int i = 1;
- for(; i <= size; i++)
- {
- int info;
- printf("Enter list item #%d:\n", i);
- scanf("%d", &info);
- last->info = info;
- if(i != size)
- {
- last->next = (Node*)malloc(sizeof(Node) * 1);
- last = last->next;
- }
- else last->next = NULL; ///since we use malloc, last->next will be just a random number, but we want it to be 0.
- }
- return first;
- }
- void print_list(Node* node)
- {
- int i = 1;
- while(node)
- {
- printf("List item %d = %d\n",i++,node->info);
- node = node->next;
- }
- }
- void free_list(Node* node)
- {
- while(node)
- {
- Node* temp = node->next;
- free(node);
- node = temp;
- }
- }
- void main()
- {
- int size;
- Node* node;
- printf("Enter list size:\n");
- scanf("%d", &size);
- node = create_list(size);
- print_list(node);
- free_list(node);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement