Program of Singly Linked list.
Code for Singly Linked list in C Programming
#include<stdio.h> #include<conio.h> struct node { int no; struct node *next; }; struct node *head; struct node *p; struct node *temp; int ch1; void main() { void ins(); void del(); void disp(); int ctr,num; char ch; clrscr(); head = (struct node *)malloc(sizeof(struct node)); printf("\nEnter the no::"); flushall(); scanf("%d",&head->no); printf("\nDo u want to create another node::"); flushall(); scanf("%c",&ch); p=head; while(ch=='y' || ch=='Y') { p->next=(struct node *)malloc(sizeof(struct node)); p=p->next; printf("\nEnter the no::"); flushall(); scanf("%d",&p->no); printf("\nDo u want to create another node::"); flushall(); scanf("%c",&ch); } p->next=NULL; clrscr(); printf("\n1)Insert \n2)Delete \n3)Traverse"); flushall(); scanf("%d",&num); if(num==1) { ins(); } if(num==2) { del(); } if(num==3) { disp(); } getch(); } void disp() { temp=head; while(temp!=NULL) { printf("\n%d",temp->no); temp=temp->next; } } void ins() { int af; printf("\n1)Begining\n2)Middle\n3)End"); flushall(); scanf("%d",&ch1); temp=(struct node*)malloc(sizeof(struct node)); printf("\nEnter the no::"); flushall(); scanf("%d",&temp->no); if(ch1==1) { temp->next=head; head=temp; disp(); } if(ch1==2) { p=head; printf("\nAfter which node u want to insert::"); flushall(); scanf("%d",&af); while(p->no!=af) { p=p->next; } temp->next=p->next; p->next=temp; disp(); } if(ch1==3) { p=head; while(p->next!=NULL) { p=p->next; } p->next=temp; temp->next=NULL; disp(); } } void del() { int num,af; printf("\n1)Begining\n2)Middle\n3)End"); flushall(); scanf("%d",&num); if(num==1) { p=head; head=p->next; free(p); disp(); } if(num==2) { p=head; printf("\nAfter which node u want to del::"); flushall(); scanf("%d",&af); while(p->no!=af) { p=p->next; } temp=p->next; p->next=temp->next; free(temp); disp(); } if(num==3) { p=head; while(p->next->next!=NULL) { p=p->next; } temp=p->next; p->next=NULL; free(temp); disp(); } }
No comments:
Post a Comment