Untitled
plain_text
a month ago
1.7 kB
0
Indexable
Never
#include<stdio.h> #include<stdlib.h> struct node { int v; struct node* link; }; void main() { struct node*pnode,*first,*pnode1,*f1; int n,i,num,pos; clrscr(); printf("-------------insertion to linked list by position"); printf("\n \t enter the range:"); scanf("%d",&n); pnode=NULL; for(i=0;i<n;i++) { if(pnode==NULL) { pnode=malloc(sizeof(struct node)); printf("\n enter the value:"); scanf("%d",&pnode->v); pnode->link=NULL; first=pnode; } else { pnode->link=malloc(sizeof(struct node)); printf("\t enter the value:"); scanf("%d",&pnode ->link ->v); pnode=pnode->link; pnode->link=NULL; } } printf("\n \t list is:"); pnode=first; while(pnode!=NULL) { printf("%d->",pnode->v); pnode=pnode->link; } printf("NULL"); printf("\n \n \tenter the position to be inserted:"); scanf("%d",&pos); pnode=first; for(i=1;i<=n;i++) { if(i==pos) { while(pnode!=NULL) { if(pnode==first) { f1=malloc(sizeof(struct node)); printf("\t enter the value to be inserted:"); scanf("%d",&f1->v); f1->link=first; first=f1; break; } else { pnode1->link=malloc(sizeof(struct node)); printf("\t enter the new value to be inserted:"); scanf("%d",&pnode1->link->v); pnode1->link->link=pnode; break; } } } else { pnode1=pnode; pnode=pnode->link; } } printf("\n \tthen update linkedlist is:"); pnode=first; while(pnode!=NULL) { printf("NULL"); getch(); } }