assignment queue
assignment queue
h>
Struct Queue {
Int queue[MAX_SIZE];
Int front;
Int rear;
};
q->front = -1;
q->rear = -1;
If (isFull(q)) {
Printf(“Queue is full\n”);
Return;
If (isEmpty(q)) {
q->front = 0;
q->rear++;
q->queue[q->rear] = data;
If (isEmpty(q)) {
Printf(“Queue is empty\n”);
Return -1;
If (q->front == q->rear) {
q->front = -1;
q->rear = -1;
} else {
q->front++;
Return data;
If (isEmpty(q)) {
Printf(“Queue is empty\n”);
Return;
Printf(“%d “, q->queue[i]);
Printf(“\n”);
Int main() {
Struct Queue q;
initializeQueue(&q);
enqueue(&q, 1);
enqueue(&q, 2);
enqueue(&q, 3);
display(&q);
dequeue(&q);
display(&q);
return 0;
}
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
Int data;
} Node;
New_node->data = new_data;
New_node->next = NULL;
Return new_node;
} Queue;
Queue* createQueue()
Queue* q = (Queue*)malloc(sizeof(Queue));
return q;
}
Int isEmpty(Queue* q)
Return 1;
Return 0;
If (q->rear == NULL) {
return;
q->rear->next = new_node;
q->rear = new_node;
Void dequeue(Queue* q)
If (isEmpty(q)) {
Printf(“Queue Underflow\n”);
Return;
}
Node* temp = q->front;
q->front = q->front->next;
If (q->front == NULL)
q->rear = NULL;
Free(temp);
Int getFront(Queue* q)
If (isEmpty(q)) {
Printf(“Queue is empty\n”);
Return INT_MIN;
Return q->front->data;
Int getRear(Queue* q)
If (isEmpty(q)) {
Printf(“Queue is empty\n”);
Return INT_MIN;
Return q->rear->data;
Int main()
{
Queue* q = createQueue();
Enqueue(q, 10);
Enqueue(q, 20);
Dequeue(q);
Dequeue(q);
Enqueue(q, 30);
Enqueue(q, 40);
Enqueue(q, 50);
Dequeue(q);
Return 0;