Header Ads Widget

Responsive Advertisement

Queue Using Array

 


#include <stdio.h>
#include <stdlib.h>

struct queue
{
    int size;
    int f;
    int r;
    int *arr;
};

int isFull(struct queue *q)
{
    if (q->r == q->size - 1)
    {
        return 1;
    }
    return 0;
}

int isEmpty(struct queue *q)
{
    if (q->r == q->f)
    {
        return 1;
    }
    return 0;
}

void enqueue(struct queue *q, int val)
{
    if (isFull(q))
    {
        printf("The queue is Full...Queue Overflow\n");
    }
    else
    {
    q->r++;
    q->arr[q->r] = val;
    }
    printf("The Enqueue element is : %d\n",val);
}

int Dequeue(struct queue *q)
{  int a = -1;
    if (isEmpty(q))
    {
        printf("The queue is Empty...\n");
    }
    else
    {
    q->f++;
    a = q->arr[q->f];
    }
    return a;
   
    //printf("The DEqueue element is : %d\n",a);
}

int main()
{
    struct queue *q = (struct queue *)malloc(sizeof(struct queue));
    q->size = 4;
    q->f = q->r = -1;
    q->arr = (int *)malloc(q->size * sizeof(int));
   
    if(isEmpty(q)){
    printf("The Queue is Empty...\n");
    }

    enqueue(q,23);
    enqueue(q,3);
    enqueue(q,2);
    enqueue(q,6);
    printf("The Dequeue Element is : %d\n",Dequeue(q));
    printf("The Dequeue Element is : %d\n",Dequeue(q));
    printf("The Dequeue Element is : %d\n",Dequeue(q));
    printf("The Dequeue Element is : %d\n",Dequeue(q));
    enqueue(q,6);
    if(isEmpty(q)){
    printf("The Queue is Empty...\n");
    }
    // else{
    // printf("The Queue is Full ...\n");
    // }
    if(isFull(q)){
    printf("The Queue is Full...\n");
   }
    return 0;
}

Post a Comment

0 Comments