#include<stdio.h> #include<stdlib.h> struct queue{ int size; int f; int r; int *arr; }; int isEmpty(struct queue *q){ if (q->r == q->f ) { return 1; } return 0; } int isFull(struct queue *q){ if (q->r==q->size-1) { return 1; } return 0; } void enqueue(struct queue *q , int value){ if (isFull(q)) { printf("Its full\n"); } else{ q->r++; q->arr[q->r]=value; printf("Enqueued element : %d\n",value); } } int dequeue(struct queue *q){ int a = -1; if(isEmpty(q)){ printf("Its empty \n"); } else{ q->f++; a=q->arr[q->f]; } return a; } int main(){ struct queue q; q.size = 4; q.f = q.r = -1; q.arr = (int*)malloc(q.size*sizeof(int)); enqueue(&q,17); enqueue(&q,9); enqueue(&q,2001); enqueue(&q,27); printf("%d\n",dequeue(&q)); printf("%d\n",dequeue(&q)); printf("%d\n",dequeue(&q)); printf("%d\n",dequeue(&q)); if (isEmpty(&q)) { printf("Queue is empty\n"); } if(isFull(&q)){ printf("Queue is full \n"); } return 0; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter