Programming Problems: Simple Queue +--------------------------------------+ Your
ID: 3684699 • Letter: P
Question
Programming Problems: Simple Queue +--------------------------------------+ Your task in this assignment is complete Phase I of Project II. In Project II with Phase I, you are asked to write a simple queue that handles integer data. Please the skelton code that is included in this assignment for more detail. Requirements +--------------------------------------+ 1. The queue should handle integer data. 2. The queue should be based on linked list. 3. Your code should demonistrate that you can perform the "enqueue" and "dequeue" operation
Explanation / Answer
#include<stdio.h>
#include<stdlib.h>
typedef struct Queue {
int n,size,front,rear;
int *elements; };
void enqueue(Queue,int);
int dequeue(Queue,int);
createQueue(int);
int front(Queue);
int main() {
int element; int max;
printf(“Enter max no of elements:”);
scanf(“%d ”,&max);
Queue *Q = createQueue(max);
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
printf(“Front element is %d ”,front(Q));
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
dequeue(Q);
printf(“Enter element:”);
scanf(“%d ”,&element);
enqueue(Q,element);
printf(“Front element is %d ”,front(Q));
}
createQueue(int max) {
Queue *Q = (Queue *)malloc(sizeof(Queue));
Q -> elements = (int *)malloc(sizeof(int) *max);
Q ->size = 0;
Q ->n = max;
Q -> front = 0;
Q->rear = -1;
return Q;
}
void enqueue(Queue *Q,int element) {
if(Q == isFull()) {
printf(“ Queue is full ”);
return 0;
} else {
Q ->size ++;
Q ->rear = Q->rear+1;
Q ->elements [Q->rear] = element;
}
return;
}
int front(Queue *Q) {
if(Q->size == 0) {
printf(“Queue is empty”);
exit(0);
}
else return Q->elements[Q->front];
}
int dequeue(Queue *Q) {
if(Q==isEmpty()) {
printf(“Queue is empty”);
return 0;
} else
{
int element = Q[front]->elements;
Q->size --;
Q ->front ++;
return element;
} }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.