DS – Queue Program using Arrays

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]);
                        }
            }
}
Scroll to Top