diff --git a/creating, inseting and deleting in linked list b/creating, inseting and deleting in linked list new file mode 100644 index 0000000..8534377 --- /dev/null +++ b/creating, inseting and deleting in linked list @@ -0,0 +1,97 @@ +#include +#include +struct Node{ + int data; + struct Node *next; +}*first=NULL; +void create (int a[], int n){ + int i; + struct Node *t,*last; + first=(struct Node *)malloc (sizeof( struct Node)); + first->data=a[0]; + first->next=NULL; + last=first; + for(i=1;idata=a[i]; + t->next=NULL; + last->next=t; + last=t; + } +} +void Display(struct Node *p){ + while(p!=NULL){ + printf("%d ", p->data); + p=p->next; + } +} +void insert(int pos, int num, struct Node *p){ + struct Node *s=(struct Node *)malloc(sizeof(struct Node)); + if(pos==0){ + s->data=num; + s->next=first; + first=s; + } + else if(pos>0){ + p=first; + for(int i=0;inext; + } + if(p){ + s->data=num; + s->next=p->next; + p->next=s;}} +} +void delete(int pos, struct Node *p){ + struct Node *t=first; + if(pos==1){ + first=first->next; + int x=t->data; + free(t); + + } + else if(pos>0){ + struct Node *x,*y; + x=first; + y=NULL; + for(int i=0;inext; + } + y->next=x->next; + free(x); + } +} + + +int main(){ + int n,a[50], c; + printf("Enter the number of elements: "); + scanf("%d", &n); + printf("Enter the elements: "); + for(int i=0;i