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

溫馨提示×

c語言列隊如何簡化實現

小樊
82
2024-10-16 22:54:28
欄目: 編程語言

在C語言中,簡化實現隊列的數據結構可以使用數組。以下是一個使用數組實現隊列的簡單示例:

#include <stdio.h>
#include <stdlib.h>

#define SIZE 5

typedef struct {
    int data[SIZE];
    int front;
    int rear;
} Queue;

Queue* createQueue() {
    Queue* queue = (Queue*)malloc(sizeof(Queue));
    if (queue == NULL) {
        printf("Memory error\n");
        exit(0);
    }
    queue->front = queue->size - 1;
    queue->rear = -1;
    return queue;
}

int isFull(Queue* queue) {
    return (queue->rear + 1) % SIZE == queue->front;
}

int isEmpty(Queue* queue) {
    return queue->front == -1;
}

void enqueue(Queue* queue, int item) {
    if (isFull(queue)) {
        printf("Queue is full\n");
        return;
    }
    queue->rear = (queue->rear + 1) % SIZE;
    queue->data[queue->rear] = item;
}

int dequeue(Queue* queue) {
    if (isEmpty(queue)) {
        printf("Queue is empty\n");
        return -1;
    }
    int item = queue->data[queue->front];
    queue->front = (queue->front + 1) % SIZE;
    return item;
}

int main() {
    Queue* queue = createQueue();
    enqueue(queue, 1);
    enqueue(queue, 2);
    enqueue(queue, 3);
    enqueue(queue, 4);
    enqueue(queue, 5);

    while (!isEmpty(queue)) {
        printf("%d ", dequeue(queue));
    }

    free(queue);
    return 0;
}

這個示例中,我們定義了一個名為Queue的結構體,其中包含一個數組data來存儲隊列中的元素,以及兩個整數變量frontrear分別表示隊列的頭部和尾部。接下來,我們實現了一些基本的隊列操作,如創建隊列、判斷隊列是否已滿、判斷隊列是否為空、入隊(enqueue)和出隊(dequeue)。

main函數中,我們創建了一個隊列,并向其中添加了一些元素。然后,我們使用一個循環將隊列中的所有元素依次出隊并打印出來。最后,我們釋放了分配給隊列的內存。

0
当阳市| 永兴县| 平乡县| 岢岚县| 峡江县| 洞口县| 通山县| 林甸县| 彭泽县| 湘潭市| 朝阳市| 丽江市| 柳河县| 安西县| 靖安县| 资阳市| 吴忠市| 双牌县| 曲水县| 和政县| 四子王旗| 板桥市| 来凤县| 和静县| 宝应县| 思南县| 赤壁市| 荆州市| 辽宁省| 西城区| 定兴县| 丹凤县| 千阳县| 宜阳县| 杭锦后旗| 金昌市| 北京市| 麻阳| 曲水县| 呼伦贝尔市| 山阴县|