Wednesday, February 05, 2014

LINEAR QUEUE

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define size 100
struct queue
    {
        int item[size];
        int front,rear;
    }q;

void insert(struct queue *pq,int x)
{
    if(pq->rear==size-1)
    printf("\nOVERFLOW");
    else
    pq->item[++pq->rear]=x;
}
int remove1(struct queue *pq)
{
    if(pq->rear<pq->front)
    {
        printf("\nQUEUE UNDERFLOW");
        return 0;
    }
    else
    return(pq->item[pq->front++]);
}
void display()
{
    int k;
    printf("\nOUTPUT==>>");
    if(q.rear<q.front)
    {
        printf("\tQUEUE UNDERFLOW");
    }
    else
    {
        for(k=q.front;k<=q.rear;k++)
        printf("\t%d",q.item[k]);
    }
}
void main()
{
    int i,j;
    clrscr();
    q.rear=-1;
    q.front=0;
    while(1)
    {
        printf("\nPress 1 for enter=");
        printf("\nPress 2 for remove=");
        printf("\nPress 3 for display=");
        printf("\nPress 4 for exit=");
        printf("\nEnter Choice=");
        scanf("%d",&i);
        clrscr();
        printf("\n\n\t\t\t\t<<==LINEAR QUEUE==>>\n\n");
        switch(i)
        {
            case 1:    printf("\nEnter element=");
                scanf("%d",&j);
                insert(&q,j);
                break;
            case 2: printf("\nThe remove element is=%d",remove1(&q));
                break;
            case 3: display();
                break;
            case 4: exit(0);
            default:printf("\n\bWRONG CHOICE");
        }
    }
getch();
}

No comments:

Post a Comment