c语言定义队列的方法是什么

   2024-11-04 4510
核心提示:在C语言中,可以通过使用数组或链表来定义队列。以下是使用数组定义队列的示例:#include stdio.h#define MAX_SIZE 100struct Qu

在C语言中,可以通过使用数组或链表来定义队列。以下是使用数组定义队列的示例:

#include <stdio.h>#define MAX_SIZE 100struct Queue {  int itEMS[MAX_SIZE];  int front;  int rear;};struct Queue* createQueue() {  struct Queue* queue = (struct Queue*)malloc(sizeof(struct Queue));  queue->front = -1;  queue->rear = -1;  return queue;}int isEmpty(struct Queue* queue) {  if (queue->rear == -1) {    return 1;  }  return 0;}int isFull(struct Queue* queue) {  if (queue->rear == MAX_SIZE - 1) {    return 1;  }  return 0;}void enqueue(struct Queue* queue, int value) {  if (isFull(queue)) {    printf("Queue is full\n");  } else {    if (isEmpty(queue)) {      queue->front = 0;    }    queue->rear++;    queue->items[queue->rear] = value;    printf("%d enqueued to queue\n", value);  }}void dequeue(struct Queue* queue) {  if (isEmpty(queue)) {    printf("Queue is empty\n");  } else {    printf("%d dequeued from queue\n", queue->items[queue->front]);    queue->front++;    if (queue->front > queue->rear) {      queue->front = queue->rear = -1;    }  }}int main() {  struct Queue* queue = createQueue();  enqueue(queue, 10);  enqueue(queue, 20);  enqueue(queue, 30);  dequeue(queue);  dequeue(queue);  dequeue(queue);  dequeue(queue);  return 0;}

在上面的示例中,我们使用结构体定义了一个队列,并实现了对队列的入队和出队操作。我们还定义了一个createQueue函数用于创建一个队列,isEmpty函数用于判断队列是否为空,isFull函数用于判断队列是否已满。通过调用这些函数,我们可以对队列进行操作。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号