#include
#include
#include
struct list
{
int data; struct list *next;
}
*rear=NULL,*front=NULL,*temp;
void display();
void enqueue()
{
temp=(struct list *)malloc(sizeof(struct list));
temp->next=NULL;
printf("\nEnter the data:-");
scanf("%d",&temp->data);
if(front==NULL)
{ front=temp; rear=front; }
else { rear->next=temp; rear=rear->next; }
display();
}v
oid dequeue()
{ if(front==NULL) display();
else
{
if(front==rear)
{ temp=front; front=NULL; rear=front; }
else { temp=front; front=front->next; }
printf("\n\nThe deleted item is %d",temp->data);
free(temp);
}
}
void display()
{
struct list *disp;
if(front==NULL)
printf("\nThe queue is empty");
else { printf("\nfront<--"); for(disp=front;disp!=NULL;disp=disp->next)
printf("%d <--",disp->data); printf("NULL");
}
}
void main()
{
int choice;
clrscr();
while(1)
{
printf("\n\n1.Enqueue\t2.Dequeue\t3.Display\t4.Exit");
printf("\n\nEnter ur choice:->");
scanf("%d",&choice);
switch (choice)
{ case 1: enqueue(); break; case 2: dequeue(); break; case 3: display(); break; case 4: exit(0); }
}
}
/*Output
1.Enqueue 2.Dequeue 3.Display 4.Exit
Enter ur choice:->1
Enter the data:-1
front<--1 <--NULL 1.Enqueue 2.Dequeue 3.Display 4.Exit Enter ur choice:->1
Enter the data:-2
front<--1 <--2 <--NULL 1.Enqueue 2.Dequeue 3.Display 4.Exit Enter ur choice:->1
Enter the data:-3
front<--1 <--2 <--3 <--NULL 1.Enqueue 2.Dequeue 3.Display 4.Exit Enter ur choice:->3
front<--1 <--2 <--3 <--NULL 1.Enqueue 2.Dequeue 3.Display 4.Exit Enter ur choice:->2
The deleted item is 1
1.Enqueue 2.Dequeue 3.Display 4.Exit
Enter ur choice:->2
The deleted item is 2
1.Enqueue 2.Dequeue 3.Display 4.Exit
Enter ur choice:->2
The deleted item is 3
1.Enqueue 2.Dequeue 3.Display 4.Exit
Enter ur choice:->2
The queue is empty
1.Enqueue 2.Dequeue 3.Display 4.Exit
Enter ur choice:->4
*/
No comments:
Post a Comment