[数据结构]环形队列

实现环形队列,实现入队出队操作:

cpp 复制代码
#include <stdio.h>

#define MAXSIZE 10

int enterqueue(int* array, int);

void printQueue();


int front = 0, rear = 0;
int main(void) {
    int arr[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };

    printQueue(&arr);
    enterqueue(&arr, 10);
    printQueue(&arr);
    enterqueue(&arr, 20);
    printQueue(&arr);
    enterqueue(&arr, 30);
    printQueue(&arr);
    enterqueue(&arr, 40);
    printQueue(&arr);
    enterqueue(&arr, 50);
    printQueue(&arr);
    enterqueue(&arr, 60);
    printQueue(&arr);
    enterqueue(&arr, 70);
    printQueue(&arr);
    enterqueue(&arr, 80);
    printQueue(&arr);
    enterqueue(&arr, 90);
    printQueue(&arr);


    exitQueue(&arr);
    printQueue(&arr);
    exitQueue(&arr);
    printQueue(&arr);
    exitQueue(&arr);
    printQueue(&arr);
    exitQueue(&arr);
    printQueue(&arr);

    enterqueue(&arr, 100);
    printQueue(&arr);
    enterqueue(&arr, 110);
    printQueue(&arr);

    printf("Hello World\n");
    return 0;
}

/*入队函数*/
int enterqueue(int* array, int value) {
    /*判断是否队满*/
    if ((rear + 1) % MAXSIZE == front) {
        printf("队满\r\n");
        return 0;
    }

    rear = (rear + 1) % MAXSIZE;//rear指向下一位
    array[rear] = value;

    return 0;
}

/*出队函数*/
int exitQueue(int* array) {
    if (rear == front) {
        printf("队空\r\n");
        return 0;
    }
    int temp = 0;
    front = (front + 1) % MAXSIZE;
    temp = array[front];
    array[front] = -1;

    return temp;
}


void printQueue(int* array) {

    for (int k = 0; k < 10; k++) {

        printf("arr[%d]=%d\r\n", k, *(array+k));
    }
    printf("\r\n");

}

进一步使用stm32进行缓冲数据实验

相关推荐
C++ 老炮儿的技术栈1 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
KYGALYX1 小时前
逻辑回归详解
算法·机器学习·逻辑回归
222you1 小时前
Redis的主从复制和哨兵机制
java·开发语言
铉铉这波能秀1 小时前
LeetCode Hot100数据结构背景知识之集合(Set)Python2026新版
数据结构·python·算法·leetcode·哈希算法
江湖有缘1 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
踢足球09291 小时前
寒假打卡:2026-2-8
数据结构·算法
chilavert3181 小时前
技术演进中的开发沉思-357:重排序(下)
java·后端
Boop_wu1 小时前
Spring生态
java·后端·spring
IT猿手1 小时前
基于强化学习的多算子差分进化路径规划算法QSMODE的机器人路径规划问题研究,提供MATLAB代码
算法·matlab·机器人
千逐-沐风1 小时前
SMU-ACM2026冬训周报3rd
算法