目录

[数据结构]环形队列

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

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进行缓冲数据实验

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
爪娃侠几秒前
LeetCode热题100记录-【二叉树】
linux·算法·leetcode
圣保罗的大教堂1 小时前
《算法笔记》9.8小节——图算法专题->哈夫曼树 问题 E: 合并果子-NOIP2004TGT2
算法
有梦想的攻城狮1 小时前
spring-cloud-alibaba-nacos-config使用说明
java·spring·nacos·springcloud·配置中心
独好紫罗兰1 小时前
洛谷题单3-P1720 月落乌啼算钱(斐波那契数列)-python-流程图重构
开发语言·算法·leetcode
啥都鼓捣的小yao2 小时前
Python解决“数字插入”问题
python·算法
Yan-英杰3 小时前
【百日精通JAVA | SQL篇 | 第三篇】 MYSQL增删改查
java·数据库·sql
qystca3 小时前
蓝桥云客--回文数组
算法
每次的天空3 小时前
Android学习总结之算法篇五(字符串)
android·学习·算法
Fantasydg4 小时前
DAY 37 leetcode 454--哈希表.四数相加
算法·leetcode·散列表
愚戏师4 小时前
软件工程(应试版)图形工具总结(二)
数据结构·c++·python·软件工程