Advertisement
shohan11421

assaingment 1

Apr 8th, 2018
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.78 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. struct node
  4. {
  5.     int data;
  6.     struct node *next;
  7. };
  8. struct node *head = NULL, *temp;
  9. int take()
  10. {
  11.     int a;
  12.     scanf("%d", &a);
  13.     return a;
  14. }
  15. void creat()
  16. {
  17.     struct node *n1, *n2, *n3, *n4, *n5;
  18.     n1 = (struct node *) malloc(sizeof(struct node));
  19.     n2 = (struct node *) malloc(sizeof(struct node));
  20.     n3 = (struct node *) malloc(sizeof(struct node));
  21.     n4 = (struct node *) malloc(sizeof(struct node));
  22.     n5 = (struct node *) malloc(sizeof(struct node));
  23.     n1 -> data = take();
  24.     n2 -> data = take();
  25.     n3 -> data = take();
  26.     n4 -> data = take();
  27.     n5 -> data = take();
  28.     n1 -> next = n2;
  29.     n2 -> next = n3;
  30.     n3 -> next = n4;
  31.     n4 -> next = n5;
  32.     n5 -> next = NULL;
  33.     head = n1;
  34. }
  35. void count()
  36. {
  37.     temp = head;
  38.     int cnt = 0;
  39.     while(temp)
  40.     {
  41.         cnt++;
  42.         temp = temp -> next;
  43.     }
  44.     printf("\nTotal node: %d\n", cnt);
  45. }
  46. void insert_any(int a, int pos)
  47. {
  48.     struct node *n;
  49.     n = (struct node *) malloc(sizeof(struct node));
  50.     n -> data = a;
  51.     temp = head;
  52.     int i;
  53.     for(i = 0; i < pos - 2; i++)
  54.     {
  55.         temp = temp -> next;
  56.     }
  57.     n -> next = temp -> next;
  58.     temp -> next = n;
  59. }
  60. void print()
  61. {
  62.     temp = head;
  63.     puts("");
  64.     while(temp)
  65.     {
  66.         printf("%d ", temp -> data);
  67.         temp = temp ->next;
  68.     }
  69. }
  70. int main()
  71. {
  72.     printf("Previous list: ");
  73.     int i, n, pos, value;
  74.     creat();
  75.     printf("How many new values you want to insert:\n");
  76.     scanf("%d", &n);
  77.     for(i = 1; i <= n; i++)
  78.     {
  79.         printf("Enter Position %d: ", i);
  80.         scanf("%d", &pos);
  81.         printf("Value: ");
  82.         scanf("%d", &value);
  83.         insert_any(value,pos);;
  84.     }
  85.     print();
  86.     count();
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement