c语言

c语言数组如何实现队列

小亿
83
2024-09-03 19:29:01
栏目: 编程语言

在C语言中,可以使用数组来实现一个简单的队列。下面是一个基本的队列实现:

#include<stdio.h>
#define SIZE 5 // 定义队列的最大容量

int queue[SIZE]; // 存储队列元素的数组
int front = -1; // 队头指针
int rear = -1; // 队尾指针

// 入队操作
void enqueue(int item) {
    if (rear == SIZE - 1) {
        printf("队列已满,无法入队\n");
        return;
    }
    if (front == -1) {
        front = 0;
    }
    rear++;
    queue[rear] = item;
    printf("%d 已入队\n", item);
}

// 出队操作
void dequeue() {
    if (front == -1 || front > rear) {
        printf("队列为空,无法出队\n");
        return;
    }
    int item = queue[front];
    front++;
    printf("%d 已出队\n", item);
}

// 打印队列元素
void print_queue() {
    if (front == -1 || front > rear) {
        printf("队列为空\n");
        return;
    }
    printf("队列元素: ");
    for (int i = front; i <= rear; i++) {
        printf("%d ", queue[i]);
    }
    printf("\n");
}

int main() {
    enqueue(1);
    enqueue(2);
    enqueue(3);
    print_queue();
    dequeue();
    print_queue();
    enqueue(4);
    print_queue();
    return 0;
}

这个示例展示了如何使用数组实现一个简单的队列,包括入队、出队和打印队列元素的操作。注意,这个实现仅用于演示目的,实际应用中可能需要考虑更多的边界情况和错误处理。

0
看了该问题的人还看了