117.info
人生若只如初见

c语言数组如何实现队列

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

#include
#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;
}

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/feac6AzsOCAVWDA.html

推荐文章

  • c语言goto用法是什么

    在C语言中,goto语句用于从一个位置跳转到另一个位置。它可以用于跳出循环、条件语句或者函数。goto语句的语法如下:
    goto label;
    ...
    label: //...

  • goto在c语言中的运用方法是什么

    goto 语句在 C 语言中允许程序从一个位置跳转到另一个位置。然而,在实际编程中,过度使用 goto 语句通常被认为是一种不好的编程实践,因为它可能导致代码结构混...

  • c语言堆和栈的区别是什么

    C语言中的堆和栈是两种不同的内存分配方式。 栈(Stack):栈是由编译器自动分配和释放的内存区域,用于存储局部变量和函数调用的上下文信息。栈的特点是先进后出...

  • C语言结构体数组怎么定义和使用

    在C语言中,可以通过定义结构体数组来存储多个具有相同数据类型的结构体对象。下面是定义和使用结构体数组的示例代码:
    #include // 定义一个结构体类型

  • c语言如何获取子字符串

    在C语言中,没有内置的函数可以直接获取子字符串。但是,您可以使用一些基本的字符串操作和指针操作来实现这个功能。以下是一个简单的示例,展示了如何从给定的字...

  • oracle数据库怎么查看锁表

    在Oracle数据库中,可以通过查询动态性能视图(Dynamic Performance Views)来查看锁表信息。以下是一些常用的方法: 查看当前等待锁的会话: SELECT s.sid, s.s...

  • oracle怎么访问sqlserver数据库

    要在Oracle中访问SQL Server数据库,您需要创建一个数据库链接。这是一个简化的步骤来实现这个目标: 安装和配置Heterogeneous Services (HS):
    首先,确保...

  • oracle停止数据库命令是什么

    要停止Oracle数据库,您需要使用SHUTDOWN命令
    SHUTDOWN IMMEDIATE; 这将立即关闭数据库,不会等待用户完成当前操作。在执行此命令之前,请确保所有用户都已...