Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- struct node{
- int data;
- struct node *link;
- }*head = NULL, *new_node, *ptr=NULL, *prev_ptr, *temp;
- void insertBeg(){
- int info;
- new_node = (struct node*)malloc(sizeof(struct node));
- printf("nEnter data : ");
- scanf("%d",&info);
- new_node->data=info;
- new_node->link=NULL;
- if(head==NULL){
- head=new_node;
- }
- else{
- new_node->link=head;
- head=new_node;
- }
- }
- void insertEnd(){
- int info;
- new_node = (struct node*)malloc(sizeof(struct node));
- printf("nEnter data : ");
- scanf("%d",&info);
- new_node->data=info;
- if(head==NULL){
- head=new_node;
- new_node->link=NULL;
- }
- else{
- prev_ptr=head;
- ptr=head->link;
- while(ptr!=NULL){
- prev_ptr=ptr;
- ptr=ptr->link;
- }
- prev_ptr->link=new_node;
- new_node->link=NULL;
- }
- }
- void displayNode(){
- printf("nLinked List is : ");
- ptr=head;
- while(ptr!=NULL){
- printf("%d--->",ptr->data);
- ptr=ptr->link;
- }
- }
- void deleteBeg(){
- if(head==NULL){
- printf("nUnderflow");
- }
- else{
- temp=head;
- head=head->link;
- free(temp);
- }
- }
- void deleteEnd(){
- if(head==NULL){
- printf("nUnderflow");
- }
- else{
- prev_ptr=head;
- ptr=head->link;
- while(ptr!=NULL){
- prev_ptr=ptr;
- ptr=ptr->link;
- }
- prev_ptr->link=NULL;
- free(ptr);
- }
- }
- void traverse(){
- int count=0;
- ptr=head;
- while(ptr!=NULL){
- ptr=ptr->link;
- count++;
- }
- printf("nNumber of elements in the list are : %d",count);
- }
- int main(){
- int choice,ch='y';
- label:
- printf("nPress 1 to insert at begn2 to insert at end");
- printf("n3 to delete from begn4 to delete from end");
- printf("n5 to display the listn6 to traverse the linked list : ");
- scanf("%d",&choice);
- switch(choice){
- case 1: insertBeg();
- break;
- case 2: insertEnd();
- break;
- case 3: deleteBeg();
- break;
- case 4: deleteEnd();
- break;
- case 5: displayNode();
- break;
- case 6: traverse();
- break;
- default: printf("nInvalid Option");
- }
- printf("nPress y to continue or any other key to exit : ");
- scanf("%s",&ch);
- if(ch=='y' || ch=='Y'){
- goto label;
- }
- getch();
- return 0;
- }
Add Comment
Please, Sign In to add comment