Implementation of Priority Queue CODE 👇 #include<stdio.h> #define MAX 50 typedef struct { int data[MAX]; int front,rear; }QUEUE; void InitQ(QUEUE *pq) { pq->front = pq->rear = -1; } void AddQ(QUEUE *pq, int num) { int i; for(i=pq->rear;i>pq->front;i--) if(num>pq->data[i]) pq->data[i+1]=pq->data[i];//shift element else break; pq->data[i+1]=num; pq->rear++; } int DelQ(QUEUE *pq) { int num; pq->front++; num=pq->data[pq->front]; return(num); } int isempty(QUEUE *pq) { return(pq->front == pq->rear); } int isfull(QUEUE *pq) { return(pq->rear==MAX-1); } void main() { int num,choice; QUEUE q1; InitQ(&q1); printf(">>Implementation of Priority Queue<<"); do { ...