刷新
习题---利用两个栈实现队列的“入队”和“出队”

博主头像 利用两个栈进行实现队列的入队和出队操作 题目: 解题分析: ​ 该题目需要借助两个栈来实现队列的“入队”和“出队”,并封装好了三个对应的函数。我们需要注意的是栈的特点是“先进后出",与队列的”先进先出“的输出并不一致。所以,我们要利用栈来输出正常排序的序列,需要借助类似取反的原理,例如 !false ...

能源管理系统EMS与IEC61850

接上上文,板上运行提示缺少某些库,可能是因为交叉编译工具版本太高了。后续使用vitis自带的交叉编译工具编译,然后放入Xilinx开发板运行成功。 EMS,即能源管理系统,是储能“3s”之一。设计和制造一个储能EMS系统需要考虑包括系统架构设计、功能需求、软件开发、硬件选型等多个方面: 需求分析:确 ...

链式队列

博主头像 队列 原理介绍: ​ 队列(Queue)和栈类似,相同点是都属于线性结构,不同点是栈遵循“后进先出”原则,而队列遵循“*先进先出*”的原则,也被称为“FIFO”结构,就是“First Input First Output” ​ 数据结构中的队列的两端都允许操作,只不过要求数据只能从队列的一端插入,从 ...

以链表为基础实现链式队列

博主头像 数据结构 链式队列 以链表为基础实现链式队列 1.思路: 如果打算以链表作为基础来实现队列的操作,可以避免内存浪费以及避免内存成片移动,只需要确定队头和队尾即可,一般把链表头部作为队头,可以实现头删,把链表尾部作为队尾,可以实现尾插。 2.图示: 3.代码: /******************* ...

练习题----顺序栈算法

博主头像 题目: ​ 输入一个包括 '(' 和 ')' 的字符串string ,判断字符串是否有效。要求设计算法实现检查字符串是否有效,有效的字符串需满足以下条件: A. 左括号必须用相同类型的右括号闭合。 B. 左括号必须以正确的顺序闭合。 C. 每个右括号都有一个对应的相同类型的左括号。 题目分析: ​ ...

顺序栈习题

博主头像 题目: ​ 设计一个进制转换程序,使用顺序栈设计一个把十进制数转换为十六进制数的接口,实现当通过键盘输入一个非负的十进制数,可以在终端输出对应的十六进制数。 例如: 100 --> 0x64 --> 100%16 = 4 --> 100/16 = 6 6%16 = 6 题目分析: ​ 该题需要对用户 ...

栈(Stack)的原理与代码实现

博主头像 栈(stack) 原理说明: ​ 学习数据结构的目的是为了更好的处理和存储数据,对于顺序表而言改查比较容易,增删比较麻烦,对于链式表而言,增删比较简单,改查比较麻烦,所以每种数据结构都有不同的特点,用户需要选择合适的数据结构。 ​ 栈内存自顶向下进行递增,其实栈和顺序表以及链式表都一样,都属于线性结 ...

双向循环链表

博主头像 双向循环链表 原理与应用 双向循环链表与双向链表的区别:指的是双向循环链表的首结点中的prev指针成员指向链表的尾结点,并且双向循环链表的尾结点里的next指针成员指向链表的首结点,所以双向循环链表也属于环形结构。 双向循环链表各功能实现 (1)为了管理双向循环链表,需要构造头结点的数据类型以及构造 ...

双向链表(不循环)

博主头像 双向链表 双向链表的原理与应用 如果想要提高单向链表或者单向循环链表的访问速度,则可以在链表中的结点中再添加一个指针域,让新添加的指针域指向当前结点的直接前驱的地址,也就意味着一个结点中有两个指针域(prev + next),也被称为双向链表(Double Linked List)。 单向循环链表实 ...

单向循环链表(其一)

博主头像 单向循环链表(其一) 单向循环链表的原理与应用: 单向循环的链表的使用规则和普通的单向链表没有较大的区别,需要注意:*单向循环链表的尾结点的指针域中必须指向链表的首结点的地址*,由于带头结点的单向循环链表更加容易进行管理,如下图所示: 上图所示的就是一个典型的单向循环链表的结构,可以发现单向循环链表 ...

MIT6.S081 - Lab2: system calls

博主头像 Lab2: system calls 预备知识 执行一次系统调用的流程: USER MODE step1:系统调用声明 user/user.h:系统调用函数(如 int fork(void)) step2:ecall 进入内核态 user/usys.S(该文件由 user/usys.pl 生成,后续 ...

顺序表和链表的练习题

博主头像 顺序表 题目一: 题目分析: 该题目需要先对顺序表进行遍历至元素x正确插入位置,再对顺序表完成插入操作。因此涉及到for循环与if语句的使用 代码实现 /******************************************************************** * * ...

痞子衡嵌入式:在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间

博主头像 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间。 去年痞子衡写过一篇骚操作文章 《借助i.MXRT10xx系列INIT_VTOR功能可以缩短程序热重启时间》,这对于 NAND 型启动设备上程序热重启时间的缩短 ...

【ESP32 IDF】用RMT控制 WS2812 彩色灯带

博主头像 在上一篇中,老周用 .NET Nano Framework 给大伙伴们演示了 WS2812 灯带的控制,包括用 SPI 和 红外RMT 的方式。利用 RMT 是一个很机灵的方案,不过,可能很多大伙伴对 ESP32 的 RMT 不是很熟悉。除了乐鑫自己的文档,没几个人写过相关的水文,可见这里头空白的水 ...

结构体学习

博主头像 /******************************************************************************************************** * * 提高可移植性 Copyright (c) 2023-2024 cececlmx@ ...

MIT6.S081 - Lecture3: OS Organization and System Calls

博主头像 为什么要使用操作系统 使用操作系统的主要原因是为了实现 CPU 多进程分时复用以及内存隔离 如果没有操作系统,应用程序会直接与硬件进行交互,这时应用程序会直接使用 CPU,比如假设只有一个 CPU 核,一个应用程序在这个 CPU 核上运行,但是同时其他程序也需要运行,因为没有操作系统来帮助切换,就需 ...

MIT6.S081 - Lab1: Xv6 and Unix utilities

博主头像 Part1:sleep 实验要求与提示 可以参考 user/echo.c, user/grep.c 和 user/rm.c 文件 如果用户忘记传递参数,sleep 应该打印一条错误消息 命令行参数传递时为字符串,可以使用 atoi 函数将字符串转为数字 使用系统调用 sleep,有关实现 sleep ...

分享一款嵌入式开源按键框架代码工程MultiButton

博主头像 一、工程简介 MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块。 Github地址:https://github.com/0x1abin/MultiButton 这个项目非常精简,只有两个文件: (1)可无限扩展按键; (2)按键事件的回调异步处理方式可以简化程序结构,去除冗余的按 ...

<1···121314···20>