Sll

12
SINGLY LINKED LIST #include<conio.h> #include<stdio.h> typedef struct node_n { int info; node_n *next; }node; node *temp,*start,*q,*r; void create(); void ins(); void ins_mid(); void ins_end(); void disp(); void del(); void del_mid(); void del_end(); main() { int ch; while(1) { printf("\n\nEnter choice\n\n"); printf("\n1.Insert at beg");

description

sill

Transcript of Sll

SINGLY LINKED LIST#include#includetypedef struct node_n{int info;node_n *next;}node;node *temp,*start,*q,*r;void create();void ins();void ins_mid();void ins_end();void disp();void del();void del_mid();void del_end(); main(){int ch;while(1){printf("\n\nEnter choice\n\n");printf("\n1.Insert at beg");printf("\n2.Insert at mid");printf("\n3.Insert at end");printf("\n4.Delete at beg");printf("\n5.Delete at mid");printf("\n6.Delete at end");printf("\n7.Display");printf("\n\nChoice: ");scanf("%d",&ch);switch(ch){case 1: ins();break;case 2: ins_mid();break;case 3: ins_end();break;case 4: del();break;case 5: del_mid();break;case 6: del_end();break;case 7: disp();break;default: exit(0);}}getch();}void create(){if(start==NULL){temp=(node *)malloc(sizeof(node *));printf("\nEnter value: ");scanf("%d",&temp->info);temp->next=NULL;start=temp;}elseprintf("\nInsert via beginning");}void ins(){ if(start==NULL)create();else{temp=(node *)malloc(sizeof(node *));printf("\nEnter value: ");scanf("%d",&temp->info);temp->next=start;start=temp;}}void ins_end(){ if(start==NULL)create();else{temp=(node *)malloc(sizeof(node *));printf("\nEnter value: ");scanf("%d",&temp->info);q=start;while(q->next!=NULL)q=q->next;q->next=temp;temp->next=NULL;}}void ins_mid(){ int num;if(start==NULL)create();else{temp=(node *)malloc(sizeof(node *));printf("\nEnter value: ");scanf("%d",&temp->info);printf("\nEnter value after which you wish to enter: ");scanf("%d",&num);q=start;while(q->info!=num)q=q->next;temp->next=q->next;q->next=temp;}} void disp() { q=start; while(q!=NULL) { printf("\n%d",q->info); q=q->next; } } void del() { if(start->next==NULL){q=start;free(q);printf("\nEmpty");}else{q=start;start=start->next;free(q);} } void del_end() { if(start->next==NULL){q=start;free(q);printf("\nEmpty");}else{q=start; while(q->next!=NULL){r=q;q=q->next;}r->next=NULL;free(q);} } void del_mid() { int num;printf("\nEnter value to be deleted: ");scanf("%d",&num);q=start;while(q->info!=num){r=q;q=q->next;}r->next=q->next;free(q); }

//////////////OUTPUT