You are on page 1of 13

LINEAR QUEUE

GANESH.G.NATH

Non primitive linear data structure Homogeneous collection of elements in

which new elements are added at one end called REAR end , and existing elements are deleted from other end called FRONT end. The element to be inserted first in to the queue is the one that is to be deleted first from it. So it is known as FIFO.

PROGRAM
#include<stdio.h> #include<conio.h> #include<process.h> #define MAX 5 void insert(); void dele(); void display(); void exit();

int front=-1,rear=-1; int queuearr[MAX]; void main() { int ch; clrscr(); while(1) { printf("\n1] insert\n2]delete\n3]display\n4]exit \nEnter your choise : "); scanf("%d",&ch);

switch(ch) { case 1:insert(); break; case 2:dele(); break; case 3:display(); break; case 4:exit(1); break; default :printf("Wrong choise "); }}}

INSERTION
void insert() { int item; if(front==0&&rear==MAX-1) printf("\nQueue is overflow"); else { front=0; rear=rear+1; printf("\nEnter item : "); scanf("%d",&item); queuearr[rear]=item; }}
HERE MAX=5
FRONT REAR

10
0

20
1

30
2

40
3

50
4

DELETION
void dele() { if(rear==front==-1) printf("\nQueue is under flow "); else printf("item %d is deleted ",queuearr[front]); front=front+1; }

DISPLAY
void display() { int i; if(front==-1||front==rear+1) { printf("\nQueue is empty"); } for(i=front;i<=rear;i++) { printf("%d ",queuearr[i]); } }
FRONT

30
0 1 2 REAR 3 4

OUTPUT
1]insert 2]delete 3]display 4]exit Enter your choice : 3 Queue is empty 1]insert 2]delete 3]display 4]exit Enter your choice : 1 Enter item : 2
void display() { int i; if(front==-1||front==rear+1) { printf("\nQueue is empty"); }

void insert() { int item; if(front==0&&rear==MAX-1) printf("\nQueue is overflow"); else { front=0; rear=rear+1; printf("\nEnter item : "); scanf("%d",&item); queuearr[rear]=item; }}

1]insert 2]delete 3]display 4]exit Enter your choice :1 Enter item : 4 1]insert 2]delete 3]display 4]exit Enter your choice : 3 24

void insert() { int item; if(front==0&&rear==MAX-1) printf("\nQueue is overflow"); else { front=0; rear=rear+1; printf("\nEnter item : "); scanf("%d",&item); queuearr[rear]=item; }}

void display() { int i; if(front==-1||front==rear+1) { printf("\nQueue is empty"); } for(i=front;i<=rear;i++) { printf("%d ",queuearr[i]); } }

1]insert 2]delete 3]display 4]exit Enter your choice : 2 Item 2 is deleted

void dele() { if(rear==front==-1) printf("\nQueue is under flow "); else printf("item %d is deleted ",queuearr[front]); front=front+1; }

1]insert 2]delete 3]display 4]exit Enter your choice : 3 4

void display() { int i; if(front==-1||front==rear+1) { printf("\nQueue is empty"); } for(i=front;i<=rear;i++) { printf("%d ",queuearr[i]); } }

1]insert 2]delete 3]display 4]exit Enter your choice :4

THANK U.!!!

You might also like