Sll
-
Upload
keshav-singh -
Category
Documents
-
view
213 -
download
1
description
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