# include <stdio.h>
# include <conio.h>
# define SIZE 10
int arr[SIZE], front = -1, rear = -1, i ;
void enqueue() ;
void dequeue() ;
void display() ;
void main()
{
int ch ;
clrscr() ;
do
{
printf("\n[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit\n") ;
printf("\nEnter your choice [1-4] : ") ;
scanf("%d", &ch) ;
switch(ch)
{
case 1 :
enqueue() ;
break ;
case 2 :
dequeue() ;
break ;
case 3 :
display() ;
break ;
case 4 :
break ;
default :
printf("\nInvalid option\n") ;
getch() ;
}
} while(ch != 4) ;
getch() ;
}
void enqueue()
{
if(rear == SIZE - 1)
{
printf("\nQueue is full (overflow)\n") ;
getch() ;
return ;
}
rear++ ;
printf("\nEnter the element to ENQUEUE : ") ;
scanf("%d", &arr[rear]) ;
if(front == -1)
front++ ;
}
void dequeue()
{
if(front == -1)
{
printf("\nQueue is empty (underflow)\n") ;
getch() ;
return ;
}
printf("\nThe DEQUEUE element is : %d\n", arr[front]) ;
getch() ;
if(front == rear)
front = rear = -1 ;
else
front++ ;
}
void display()
{
if(front == -1)
{
printf("\nQueue is empty (underflow)\n") ;
getch() ;
return ;
}
printf("\nThe elements in queue are :\n\nFRONT ->") ;
for(i = front ; i <= rear ; i++)
printf(" ... %d", arr[i]) ;
printf(" ... <- REAR\n") ;
getch() ;
}
RUN 1 :
~~~~~~~
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 1
Enter the element to ENQUEUE : 10
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 1
Enter the element to ENQUEUE : 20
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 3
The elements in queue are :
FRONT -> ... 10 ... 20 ... <- REAR
Enter your choice [1-4] : 2
The DEQUEUE element is : 10
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 3
The elements in queue are :
FRONT -> ... 20 ... <- REAR
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 2
The DEQUEUE element is : 20
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 2
Queue is empty (underflow)
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 4
# include <conio.h>
# define SIZE 10
int arr[SIZE], front = -1, rear = -1, i ;
void enqueue() ;
void dequeue() ;
void display() ;
void main()
{
int ch ;
clrscr() ;
do
{
printf("\n[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit\n") ;
printf("\nEnter your choice [1-4] : ") ;
scanf("%d", &ch) ;
switch(ch)
{
case 1 :
enqueue() ;
break ;
case 2 :
dequeue() ;
break ;
case 3 :
display() ;
break ;
case 4 :
break ;
default :
printf("\nInvalid option\n") ;
getch() ;
}
} while(ch != 4) ;
getch() ;
}
void enqueue()
{
if(rear == SIZE - 1)
{
printf("\nQueue is full (overflow)\n") ;
getch() ;
return ;
}
rear++ ;
printf("\nEnter the element to ENQUEUE : ") ;
scanf("%d", &arr[rear]) ;
if(front == -1)
front++ ;
}
void dequeue()
{
if(front == -1)
{
printf("\nQueue is empty (underflow)\n") ;
getch() ;
return ;
}
printf("\nThe DEQUEUE element is : %d\n", arr[front]) ;
getch() ;
if(front == rear)
front = rear = -1 ;
else
front++ ;
}
void display()
{
if(front == -1)
{
printf("\nQueue is empty (underflow)\n") ;
getch() ;
return ;
}
printf("\nThe elements in queue are :\n\nFRONT ->") ;
for(i = front ; i <= rear ; i++)
printf(" ... %d", arr[i]) ;
printf(" ... <- REAR\n") ;
getch() ;
}
RUN 1 :
~~~~~~~
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 1
Enter the element to ENQUEUE : 10
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 1
Enter the element to ENQUEUE : 20
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 3
The elements in queue are :
FRONT -> ... 10 ... 20 ... <- REAR
Enter your choice [1-4] : 2
The DEQUEUE element is : 10
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 3
The elements in queue are :
FRONT -> ... 20 ... <- REAR
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 2
The DEQUEUE element is : 20
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 2
Queue is empty (underflow)
[1].ENQUEUE [2].DEQUEUE [3].Display [4].Exit
Enter your choice [1-4] : 4
No comments:
Post a Comment