Queue program in C using arrays

Previous
Next

Queue using Arrays:

  • Array is a linear representation of elements
  • We can implement queue operations simply using array concept
  • Array can be represented as Queue with logic implementation
  • We perform all operations on Queue using functions
#include<stdio.h>
#define SIZE 5
int queue[SIZE], front=0 , rear=0 ;

void insert(int ele);
int delete(void);
int isFull(void);
int isEmpty(void);
void display(void);

int main()
{
	int ch, ele ;
	while(1)
	{
		printf("1. Insert \n");
		printf("2. Delete \n");
		printf("3. Display \n");
		printf("4. Quit \n");

		printf("Enter your choice : ");
		scanf("%d", &ch);

		switch(ch)
		{
			case 1	:	printf("Enter element : ");
						scanf("%d", &ele);
						insert(ele);
						break ;
			
			case 2	:	ele = delete();
						if(ele)
						{
							printf("Deleted : %d \n",ele);
						}
						else
						{
							printf("Queue is empty \n");
						}
						break ;
			
			case 3	:	display();
						break;
			
			case 4	:	exit(1);
			default	:	printf("Invalid choice\n");
		}
	}
	return 0 ;
}
void insert(int ele)
{
	if(isFull())
	{
		printf("Queue is Full...\n");
	}
	else
	{
		queue[rear] = ele ;
		rear++;
		printf("Inserted...\n");
	}
}
int delete(void)
{
	if(isEmpty())
	{
		return 0 ;
	}
	else
	{
		int ele, i ;
		ele = queue[front];
		for(i=front ; i<rear-1 ; i++)
		{
			queue[i] = queue[i+1];
		}
		rear--;
		return ele ;
	}
}
int isFull(void)
{
	if(rear == SIZE)
		return 1 ;
	else
		return 0 ;
}
int isEmpty(void)
{
	if(front==rear)
		return 1 ;
	else
		return 0 ;
}
void display(void)
{
	int i;
	if(isEmpty())
	{
		printf("Queue is Empty\n");
	}
	else
	{
		printf("Queue elements are");
		for(i=front ; i<rear ; i++)
		{
			printf("%d \n", queue[i]);
		}
	}
}
Previous
Next

Add Comment

Courses Enquiry Form