91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c語言定義隊列的方法是什么

小億
91
2024-02-21 12:21:27
欄目: 編程語言

在C語言中,可以通過使用數組或鏈表來定義隊列。以下是使用數組定義隊列的示例:

#include <stdio.h>

#define MAX_SIZE 100

struct 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函數用于判斷隊列是否已滿。通過調用這些函數,我們可以對隊列進行操作。

0
绵阳市| 舞钢市| 刚察县| 剑阁县| 玛纳斯县| 志丹县| 大悟县| 奈曼旗| 喀什市| 江西省| 包头市| 宜章县| 兴隆县| 荥经县| 东乡| 怀仁县| 宁陵县| 墨脱县| 运城市| 东海县| 厦门市| 平舆县| 揭阳市| 钟山县| 昌宁县| 道孚县| 醴陵市| 宜昌市| 通州市| 吴江市| 沙雅县| 永德县| 诏安县| 酉阳| 水富县| 石首市| 巨鹿县| 永昌县| 昌宁县| 枝江市| 民乐县|