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