Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- struct node
- {
- int data;
- struct node *next;
- };
- struct node *head = NULL, *temp;
- int take()
- {
- int a;
- scanf("%d", &a);
- return a;
- }
- void creat()
- {
- struct node *n1, *n2, *n3, *n4, *n5;
- n1 = (struct node *) malloc(sizeof(struct node));
- n2 = (struct node *) malloc(sizeof(struct node));
- n3 = (struct node *) malloc(sizeof(struct node));
- n4 = (struct node *) malloc(sizeof(struct node));
- n5 = (struct node *) malloc(sizeof(struct node));
- n1 -> data = take();
- n2 -> data = take();
- n3 -> data = take();
- n4 -> data = take();
- n5 -> data = take();
- n1 -> next = n2;
- n2 -> next = n3;
- n3 -> next = n4;
- n4 -> next = n5;
- n5 -> next = NULL;
- head = n1;
- }
- void count()
- {
- temp = head;
- int cnt = 0;
- while(temp)
- {
- cnt++;
- temp = temp -> next;
- }
- printf("\nTotal node: %d\n", cnt);
- }
- void insert_any(int a, int pos)
- {
- struct node *n;
- n = (struct node *) malloc(sizeof(struct node));
- n -> data = a;
- temp = head;
- int i;
- for(i = 0; i < pos - 2; i++)
- {
- temp = temp -> next;
- }
- n -> next = temp -> next;
- temp -> next = n;
- }
- void print()
- {
- temp = head;
- puts("");
- while(temp)
- {
- printf("%d ", temp -> data);
- temp = temp ->next;
- }
- }
- int main()
- {
- printf("Previous list: ");
- int i, n, pos, value;
- creat();
- printf("How many new values you want to insert:\n");
- scanf("%d", &n);
- for(i = 1; i <= n; i++)
- {
- printf("Enter Position %d: ", i);
- scanf("%d", &pos);
- printf("Value: ");
- scanf("%d", &value);
- insert_any(value,pos);;
- }
- print();
- count();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement