So initialisieren Sie eine Warteschlange in C.
#include <stdio.h>
#define MAX_QUEUE_SIZE 100;
typedef struct queue {
int queue[MAX_QUEUE_SIZE];
int currSize;
int head;
int tail;
} queue;
void initQueue(queue *queue) {
queue->currSize = 0;
queue->pos = 0;
queue->head = 0;
queue->tail = 0;
}
void enqueue(queue *queue, int e) {
if (isFull()) printf("Queue is full!");
queue->queue[queue->tail] = e;
queue->tail = (queue->tail + 1) % MAX_QUEUE_SIZE;
q->currSize = q->currSize + 1;
}
int dequeue(queue *queue) {
if (isEmpty()) printf("Queue is empty!");
int toDequeue = queue->head;
queue->head = (queue->head + 1) % MAX_QUEUE_SIZE;
q->currSize = q->currSize - 1;
return toDequeue;
}
int isEmpty(queue *queue) {
return (queue->head == queue->tail);
}
int isFull(queue *queue) {
return (currSize == MAX_QUEUE_SIZE);
}
int main() {
/* how do I initialize the queue and enq/deq to test? */
printf("Hello World!\n");
}
Important Impala