typedefstructnode{int value;//this is the value the node storesstructnode*next;//this is the node the current node points to. this is how the nodes link}node;
node *createNode(int val){
node *newNode =malloc(sizeof(node));
newNode->value = val;
newNode->next =NULL;return newNode;}
#include<stdio.h>#include<stdlib.h>voidinsertAtBeginning(int);voidinsertAtEnd(int);voidinsertBetween(int,int,int);voiddisplay();voidremoveBeginning();voidremoveEnd();voidremovenode(int);structNode{int data;structNode*next;}*head =NULL;intmain(){int opt,value,opt1,val1,val2;while(1){
mainmenu :printf("
MENU
1. Insert
2. Display
3. Delete
4. Exit
Enter your choice: ");scanf("%d",&opt);switch(opt){case1:printf("Enter the value to be insert: ");scanf("%d",&value);while(1){printf("Where you want to insert:1. At Beginning
2. At End
3. Between
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:insertAtBeginning(value);break;case2:insertAtEnd(value);break;case3:printf("Enter the two values where you want to insert: ");scanf("%d%d",&val1,&val2);insertBetween(value,val1,val2);break;/* default: printf("
Wrong InputTry again");*/}goto mainmenu;}break;case2:display();break;case3:printf("How do you want to Delete:1. From Beginning
2. From End
3. given_node
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:removeBeginning();break;case2:removeEnd(value);break;case3:printf("Enter the value which you want to delete: ");scanf("%d",&val2);removenode(val2);break;default:printf("
Wrong Input!! Try again!!!
");goto mainmenu;}break;case4:exit(0);default:printf("
Wrong input!!! Try again!!
");}}}voidinsertAtBeginning(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{
newNode->next = head;
head = newNode;}printf("
One node inserted!!!
");}voidinsertAtEnd(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;
newNode->next =NULL;if(head ==NULL)
head = newNode;else{structNode*temp = head;while(temp->next !=NULL)
temp = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidinsertBetween(int value,int loc1,int loc2){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{structNode*temp = head;while(temp->data != loc1 && temp->data != loc2)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidremoveBeginning(){if(head ==NULL)printf("
List is Empty!!!");else{structNode*temp = head;if(head->next ==NULL){
head =NULL;free(temp);}else{
head = temp->next;free(temp);printf("
One node deleted!!!
");}}}voidremoveEnd(){if(head ==NULL){printf("
List is Empty!!!
");}else{structNode*temp1 = head,*temp2;if(head->next ==NULL)
head =NULL;else{while(temp1->next !=NULL){
temp2 = temp1;
temp1 = temp1->next;}
temp2->next =NULL;}free(temp1);printf("
One node deleted!!!
");}}voidremovenode(int delValue){structNode*temp1 = head,*temp2;while(temp1->data != delValue){if(temp1 -> next ==NULL){printf("
Given node not found in the list!!!");}
temp2 = temp1;
temp1 = temp1 -> next;}
temp2 -> next = temp1 -> next;free(temp1);printf("
One node deleted!!!
");}voiddisplay(){if(head ==NULL){printf("
List is Empty
");}else{structNode*temp = head;printf("
List elements are -
");while(temp->next !=NULL){printf("%d --->",temp->data);
temp = temp->next;}printf("%d --->NULL",temp->data);}}
#include<stdio.h>#include<stdlib.h>voidinsertAtBeginning(int);voidinsertAtEnd(int);voidinsertBetween(int,int,int);voiddisplay();voidremoveBeginning();voidremoveEnd();voidremovenode(int);structNode{int data;structNode*next;}*head =NULL;intmain(){int opt,value,opt1,val1,val2;while(1){
mainmenu :printf("
MENU
1. Insert
2. Display
3. Delete
4. Exit
Enter your choice: ");scanf("%d",&opt);switch(opt){case1:printf("Enter the value to be insert: ");scanf("%d",&value);while(1){printf("Where you want to insert:1. At Beginning
2. At End
3. Between
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:insertAtBeginning(value);break;case2:insertAtEnd(value);break;case3:printf("Enter the two values where you want to insert: ");scanf("%d%d",&val1,&val2);insertBetween(value,val1,val2);break;/* default: printf("
Wrong InputTry again");*/}goto mainmenu;}break;case2:display();break;case3:printf("How do you want to Delete:1. From Beginning
2. From End
3. given_node
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:removeBeginning();break;case2:removeEnd(value);break;case3:printf("Enter the value which you want to delete: ");scanf("%d",&val2);removenode(val2);break;default:printf("
Wrong Input!! Try again!!!
");goto mainmenu;}break;case4:exit(0);default:printf("
Wrong input!!! Try again!!
");}}}voidinsertAtBeginning(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{
newNode->next = head;
head = newNode;}printf("
One node inserted!!!
");}voidinsertAtEnd(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;
newNode->next =NULL;if(head ==NULL)
head = newNode;else{structNode*temp = head;while(temp->next !=NULL)
temp = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidinsertBetween(int value,int loc1,int loc2){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{structNode*temp = head;while(temp->data != loc1 && temp->data != loc2)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidremoveBeginning(){if(head ==NULL)printf("
List is Empty!!!");else{structNode*temp = head;if(head->next ==NULL){
head =NULL;free(temp);}else{
head = temp->next;free(temp);printf("
One node deleted!!!
");}}}voidremoveEnd(){if(head ==NULL){printf("
List is Empty!!!
");}else{structNode*temp1 = head,*temp2;if(head->next ==NULL)
head =NULL;else{while(temp1->next !=NULL){
temp2 = temp1;
temp1 = temp1->next;}
temp2->next =NULL;}free(temp1);printf("
One node deleted!!!
");}}voidremovenode(int delValue){structNode*temp1 = head,*temp2;while(temp1->data != delValue){if(temp1 -> next ==NULL){printf("
Given node not found in the list!!!");}
temp2 = temp1;
temp1 = temp1 -> next;}
temp2 -> next = temp1 -> next;free(temp1);printf("
One node deleted!!!
");}voiddisplay(){if(head ==NULL){printf("
List is Empty
");}else{structNode*temp = head;printf("
List elements are -
");while(temp->next !=NULL){printf("%d --->",temp->data);
temp = temp->next;}printf("%d --->NULL",temp->data);}}
#include<stdio.h>#include<stdlib.h>voidinsertAtBeginning(int);voidinsertAtEnd(int);voidinsertBetween(int,int,int);voiddisplay();voidremoveBeginning();voidremoveEnd();voidremovenode(int);structNode{int data;structNode*next;}*head =NULL;intmain(){int opt,value,opt1,val1,val2;while(1){
mainmenu :printf("
MENU
1. Insert
2. Display
3. Delete
4. Exit
Enter your choice: ");scanf("%d",&opt);switch(opt){case1:printf("Enter the value to be insert: ");scanf("%d",&value);while(1){printf("Where you want to insert:1. At Beginning
2. At End
3. Between
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:insertAtBeginning(value);break;case2:insertAtEnd(value);break;case3:printf("Enter the two values where you want to insert: ");scanf("%d%d",&val1,&val2);insertBetween(value,val1,val2);break;/* default: printf("
Wrong InputTry again");*/}goto mainmenu;}break;case2:display();break;case3:printf("How do you want to Delete:1. From Beginning
2. From End
3. given_node
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:removeBeginning();break;case2:removeEnd(value);break;case3:printf("Enter the value which you want to delete: ");scanf("%d",&val2);removenode(val2);break;default:printf("
Wrong Input!! Try again!!!
");goto mainmenu;}break;case4:exit(0);default:printf("
Wrong input!!! Try again!!
");}}}voidinsertAtBeginning(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{
newNode->next = head;
head = newNode;}printf("
One node inserted!!!
");}voidinsertAtEnd(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;
newNode->next =NULL;if(head ==NULL)
head = newNode;else{structNode*temp = head;while(temp->next !=NULL)
temp = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidinsertBetween(int value,int loc1,int loc2){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{structNode*temp = head;while(temp->data != loc1 && temp->data != loc2)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidremoveBeginning(){if(head ==NULL)printf("
List is Empty!!!");else{structNode*temp = head;if(head->next ==NULL){
head =NULL;free(temp);}else{
head = temp->next;free(temp);printf("
One node deleted!!!
");}}}voidremoveEnd(){if(head ==NULL){printf("
List is Empty!!!
");}else{structNode*temp1 = head,*temp2;if(head->next ==NULL)
head =NULL;else{while(temp1->next !=NULL){
temp2 = temp1;
temp1 = temp1->next;}
temp2->next =NULL;}free(temp1);printf("
One node deleted!!!
");}}voidremovenode(int delValue){structNode*temp1 = head,*temp2;while(temp1->data != delValue){if(temp1 -> next ==NULL){printf("
Given node not found in the list!!!");}
temp2 = temp1;
temp1 = temp1 -> next;}
temp2 -> next = temp1 -> next;free(temp1);printf("
One node deleted!!!
");}voiddisplay(){if(head ==NULL){printf("
List is Empty
");}else{structNode*temp = head;printf("
List elements are -
");while(temp->next !=NULL){printf("%d --->",temp->data);
temp = temp->next;}printf("%d --->NULL",temp->data);}}
#include<stdio.h>#include<stdlib.h>voidinsertAtBeginning(int);voidinsertAtEnd(int);voidinsertBetween(int,int,int);voiddisplay();voidremoveBeginning();voidremoveEnd();voidremovenode(int);structNode{int data;structNode*next;}*head =NULL;intmain(){int opt,value,opt1,val1,val2;while(1){
mainmenu :printf("
MENU
1. Insert
2. Display
3. Delete
4. Exit
Enter your choice: ");scanf("%d",&opt);switch(opt){case1:printf("Enter the value to be insert: ");scanf("%d",&value);while(1){printf("Where you want to insert:1. At Beginning
2. At End
3. Between
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:insertAtBeginning(value);break;case2:insertAtEnd(value);break;case3:printf("Enter the two values where you want to insert: ");scanf("%d%d",&val1,&val2);insertBetween(value,val1,val2);break;/* default: printf("
Wrong InputTry again");*/}goto mainmenu;}break;case2:display();break;case3:printf("How do you want to Delete:1. From Beginning
2. From End
3. given_node
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:removeBeginning();break;case2:removeEnd(value);break;case3:printf("Enter the value which you want to delete: ");scanf("%d",&val2);removenode(val2);break;default:printf("
Wrong Input!! Try again!!!
");goto mainmenu;}break;case4:exit(0);default:printf("
Wrong input!!! Try again!!
");}}}voidinsertAtBeginning(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{
newNode->next = head;
head = newNode;}printf("
One node inserted!!!
");}voidinsertAtEnd(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;
newNode->next =NULL;if(head ==NULL)
head = newNode;else{structNode*temp = head;while(temp->next !=NULL)
temp = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidinsertBetween(int value,int loc1,int loc2){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{structNode*temp = head;while(temp->data != loc1 && temp->data != loc2)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidremoveBeginning(){if(head ==NULL)printf("
List is Empty!!!");else{structNode*temp = head;if(head->next ==NULL){
head =NULL;free(temp);}else{
head = temp->next;free(temp);printf("
One node deleted!!!
");}}}voidremoveEnd(){if(head ==NULL){printf("
List is Empty!!!
");}else{structNode*temp1 = head,*temp2;if(head->next ==NULL)
head =NULL;else{while(temp1->next !=NULL){
temp2 = temp1;
temp1 = temp1->next;}
temp2->next =NULL;}free(temp1);printf("
One node deleted!!!
");}}voidremovenode(int delValue){structNode*temp1 = head,*temp2;while(temp1->data != delValue){if(temp1 -> next ==NULL){printf("
Given node not found in the list!!!");}
temp2 = temp1;
temp1 = temp1 -> next;}
temp2 -> next = temp1 -> next;free(temp1);printf("
One node deleted!!!
");}voiddisplay(){if(head ==NULL){printf("
List is Empty
");}else{structNode*temp = head;printf("
List elements are -
");while(temp->next !=NULL){printf("%d --->",temp->data);
temp = temp->next;}printf("%d --->NULL",temp->data);}}
#include<stdio.h>#include<stdlib.h>voidinsertAtBeginning(int);voidinsertAtEnd(int);voidinsertBetween(int,int,int);voiddisplay();voidremoveBeginning();voidremoveEnd();voidremovenode(int);structNode{int data;structNode*next;}*head =NULL;intmain(){int opt,value,opt1,val1,val2;while(1){
mainmenu :printf("
MENU
1. Insert
2. Display
3. Delete
4. Exit
Enter your choice: ");scanf("%d",&opt);switch(opt){case1:printf("Enter the value to be insert: ");scanf("%d",&value);while(1){printf("Where you want to insert:1. At Beginning
2. At End
3. Between
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:insertAtBeginning(value);break;case2:insertAtEnd(value);break;case3:printf("Enter the two values where you want to insert: ");scanf("%d%d",&val1,&val2);insertBetween(value,val1,val2);break;/* default: printf("
Wrong InputTry again");*/}goto mainmenu;}break;case2:display();break;case3:printf("How do you want to Delete:1. From Beginning
2. From End
3. given_node
Enter your choice: ");scanf("%d",&opt1);switch(opt1){case1:removeBeginning();break;case2:removeEnd(value);break;case3:printf("Enter the value which you want to delete: ");scanf("%d",&val2);removenode(val2);break;default:printf("
Wrong Input!! Try again!!!
");goto mainmenu;}break;case4:exit(0);default:printf("
Wrong input!!! Try again!!
");}}}voidinsertAtBeginning(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{
newNode->next = head;
head = newNode;}printf("
One node inserted!!!
");}voidinsertAtEnd(int value){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;
newNode->next =NULL;if(head ==NULL)
head = newNode;else{structNode*temp = head;while(temp->next !=NULL)
temp = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidinsertBetween(int value,int loc1,int loc2){structNode*newNode;
newNode =(structNode*)malloc(sizeof(structNode));
newNode->data = value;if(head ==NULL){
newNode->next =NULL;
head = newNode;}else{structNode*temp = head;while(temp->data != loc1 && temp->data != loc2)
temp = temp->next;
newNode->next = temp->next;
temp->next = newNode;}printf("
One node inserted!!!
");}voidremoveBeginning(){if(head ==NULL)printf("
List is Empty!!!");else{structNode*temp = head;if(head->next ==NULL){
head =NULL;free(temp);}else{
head = temp->next;free(temp);printf("
One node deleted!!!
");}}}voidremoveEnd(){if(head ==NULL){printf("
List is Empty!!!
");}else{structNode*temp1 = head,*temp2;if(head->next ==NULL)
head =NULL;else{while(temp1->next !=NULL){
temp2 = temp1;
temp1 = temp1->next;}
temp2->next =NULL;}free(temp1);printf("
One node deleted!!!
");}}voidremovenode(int delValue){structNode*temp1 = head,*temp2;while(temp1->data != delValue){if(temp1 -> next ==NULL){printf("
Given node not found in the list!!!");}
temp2 = temp1;
temp1 = temp1 -> next;}
temp2 -> next = temp1 -> next;free(temp1);printf("
One node deleted!!!
");}voiddisplay(){if(head ==NULL){printf("
List is Empty
");}else{structNode*temp = head;printf("
List elements are -
");while(temp->next !=NULL){printf("%d --->",temp->data);
temp = temp->next;}printf("%d --->NULL",temp->data);}}
#include<stdio.h>#include<stdlib.h>intmain(){//node structurestructnode{int data;structnode*next;};//declaring nodesstructnode*head,*middle,*last;//allocating memory for each node
head =malloc(sizeof(structnode));
middle =malloc(sizeof(structnode));
last =malloc(sizeof(structnode));//assigning values to each node
head->data =10;
middle->data =20;
last->data =30;//connecting each nodes. head->middle->last
head->next = middle;
middle->next = last;
last->next =NULL;//temp is a reference for head pointer.structnode*temp = head;//till the node becomes null, printing each nodes datawhile(temp !=NULL){printf("%d->",temp->data);
temp = temp->next;}printf("NULL");return0;}