• 2024-11-20滑动窗口最大值——栈与队列
    第一版代码:classSolution{private:classMyQueue{//单调队列(从大到小)public:deque<int>que;//使用deque来实现单调队列//每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。//同时pop之前判断队列当
  • 2024-11-13【c++】广度优先搜索详解
    BFS(图论)BFS全称是 BreadthFirstSearch,中文名是宽度优先搜索,也叫广度优先搜索。是图上最基础、最重要的搜索算法之一。所谓宽度优先。就是每次都尝试访问同一层的节点。如果同一层都访问完了,再访问下一层。这样做的结果是,BFS算法找到的路径是从起点开始的 最短 合法
  • 2024-11-13考研打卡(16)
    开局(16)开始时间 2024-11-13 15:51:25结束时间 2024-11-13 17:59:04现在在1016数据结构某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=rear=10.该队列中的元素个数为______(苏州大学2009年)A1B0C1或0D不确定A
  • 2024-11-10单调队列笔记
    单调队列笔记双端队列deque维护一个严格单调变化的组,可以称为一个单调队列单调队列因为可以直接对组的两端进行操作,所以可以有效的降低时间复杂度用单调队列来解决问题,一般是需要得到的某个范围内的最小值或最大值这里以一道经典的单调队列的题目为例:题目描述有一个长为\(
  • 2024-11-05【初阶数据结构篇】链式结构二叉树(续)
    文章目录须知
  • 2024-11-05队列的用法详解
    队列是一种常用的数据结构,具有先进先出(FIFO,First-In-First-Out)的特点。通常用来管理需要按顺序处理的任务,例如打印队列、任务调度、资源分配等。下面详细介绍队列的基本概念、常用操作、类型及其在C语言中的实现。队列的基本概念在队列中:入队(enqueue):将元素添加到队列的
  • 2024-11-03队列的概念
    1.什么是队列?队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元
  • 2024-11-02List类函数使用讲解及模拟实现
    一.List介绍    1.List是一个支持在任意位置进行插入和删除的序列式容器。    2.List底层实现时使用的是双向链表结构,每个节点之间都互不相干,通过指针进行前后结点的指向。    3.List的优点在于进行数据的插入和删除的时候,不需要去大量的挪动数据,效
  • 2024-10-3110.29博客
    今天学习了栈和队列的两种实现方式栈和队列是非常重要的两种数据结构,在软件设计中应用很多。栈和队列实现回文的两种实现形式includeincludeusingnamespacestd;typedefstruct{char*base;intfront;intrear;}SqQueqe;typedefstruct{char*base;char*top;int
  • 2024-10-29【数据结构】队列
    目录3.3.1队列的定义思考题3.3.2 队列的顺序存储结构及其基本运算的实现1.队列的顺序存储结构定义2.顺序队中实现队列的基本运算(1)初始化队列InitQueue(q)构造一个空队列q(2)销毁队列DestroyQueue(q)(3)判断队列是否为空QueueEmpty(q)  (4)进队列enQueue(q,e)  
  • 2024-10-29c语言-数组队列-学习笔记
    数组队列#include<stdio.h>#include<stdlib.h>/*数组顺序队列*/typedefstructSqQueue{ intdata[10]; intfront; intrear;}SqQueue;voidInitQueue(SqQueue*Q){ Q->front=Q->rear=0;}voidEnQueue(SqQueue*Q,inta){ Q->data[Q->rear
  • 2024-10-27数据结构:“小猫钓鱼游戏”
    一:题目栈和队列的综合应用:“小猫钓鱼”的游戏规则是:将一副扑克牌平均分成两份,每人拿一份。玩家甲先拿出手中的第一张扑克牌放在桌上,然后玩家乙也拿出手中的第一张扑克牌,并放在玩家甲刚打出的扑克牌的上面,就像这样两个玩家交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌
  • 2024-10-23225. 用队列实现栈
    classMyStack{public:MyStack():q1(queue<int>()),q2(queue<int>()){}voidpush(intx){q1.push(x);}intpop(){intret;if(q1.size()==1){ret=q1.front(
  • 2024-10-23数据结构C语言版_队列笔记||已测试所有代码均可运行
    队列源文件使用markdown编写,CSDN文章发布好像有部分语法改变。每一部分我都有加一个返回标题好像不能使用了。但是CSDN自带一个目录总结,你们无视掉我写的目录直接用CSDN的吧。总结笔记不易,如果有帮助到你希望点个赞。所有代码均已在VScode中运行过,部分代码块因为格式原因
  • 2024-10-23【数据结构】队列(环形缓冲区)的实现
    在学习驱动的过程中,接触到了环形缓冲区的概念,发现这个缓冲区和数据结构中的队列具有惊人的相似之处,因此借此来复习相关知识如果应用层来不及读取数据时,我们可以先将数据放入环形缓冲区中用来记录数据,防止数据丢失。当然,缓冲区越大,那么可以缓存的数据就越多。1.队列的定义队
  • 2024-10-22队列以及循环队列及其基本操作
    和栈相反,队列是一种先进先出的数据结构,他在表尾插入元素,表头删除元素。队列也分为链队列以及顺序队列两种,链队列动态分配空间,不用担心空间不足,顺序队列简单易懂,操作方便,但是空间利用率低,所以我们一般使用链式队列结构。链式队列对顺序队列进行初始化,顺序队列分配空间类似于
  • 2024-10-19数据结构C语言|队列相关
    队列普通队列与循环队列:结构体初始化队列判断队空入队出队检查队满循环队列链式队列:链式队列链式队列结构初始化判断是否为空入队出队遍历全部代码展示结构体typedefintElemType;#defineMaxSize10typedefstruct{ ElemTypedata[MaxSize]; //用静态
  • 2024-10-1801 bfs 学习笔记
    当一张图的边权只有\(0\)和\(1\)时,跑dij的堆优化显得比较累赘。因为只有两个取值,所以取\(0\)的时候在队列前面推进来,反之在后面。其他和dij没什么区别,时间复杂度\(O(m)\),其中\(m\)是边数。相关题目:P4554小明的游戏。点击查看代码voidwork(){ m0(vis);mem(di
  • 2024-10-17Codeforces Round 893 (Div. 2)题解记录
    题目链接:https://codeforces.com/contest/1858A.Buttons从自身角度出发,我想赢就得保证我的按钮尽可能多所以,大家都优先按\(c\),然后分析先后顺序即可 #include<iostream> #include<string.h> #include<map> #include<vector> #include<set> #include<unordered_set> #
  • 2024-10-16栈和队列实际应用对回文数字 各种树的学习
    在今天将PTA上的作业回文数的判断完成了,正好和我昨天进行的课本书写是一样的,具体代码如下:includeincludedefineMAXSIZE100usingnamespacestd;typedefstruct{int*base;int*top;intstacksize;}SqStack;voidinit_stack(SqStack&s){s.base=newint[MAXSIZE];
  • 2024-10-16链队(c++)
    //队列的顺序实现//线性表先进先出#include<iostream>usingnamespacestd;#defineMaxSize100typedefstructLinkNode{chardata;structLinkNode*next;}LinkNode,*QueuePtr;typedefstruct{  QueuePtrfront,rear;}LinkQueue;//初始化voidInitQueue(L
  • 2024-10-14回文(栈和队列两种方法实现)
    includeincludeusingnamespacestd;typedefstruct{char*base;intfront;intrear;}SqQueqe;typedefstruct{char*base;char*top;intstacksize;}SqStack;//初始化栈voidinitStack(SqStack&s){s.base=newchar[101];s.top=s.base;s.stacksize=
  • 2024-10-14【数据结构】学习笔记之栈和队列
    目录一、栈基本概念二、顺序栈2.1置空栈2.2判栈空2.3判栈满2.4进栈2.5退栈2.6取栈顶元素三、链栈3.1建栈3.2判栈空3.3进栈3.4退栈3.5取栈顶元素四、队列基本概念五、顺序队列5.1置队空5.2判队空5.3判队满5.4入队5.5出队5.6取队头元素
  • 2024-10-122024.10.7(数据结构的栈)
    顺序栈是利用顺序存储结构实现的栈,指针top指示栈顶在顺序栈的位置。base为存储空间基地址,S.top-S.base是栈中元素的个数,类似Length。栈为空时:S.topS.base;栈满时:S.top-S.baseMAXSIZE;顺序栈,top在最高元素的上一个,base位置是最低元素,故取栈顶元素要取top-1的:队列先进先出。
  • 2024-10-11数据结构实验第六周
    6-1在一个数组中实现两个堆栈原理就是共享栈,不会的可以看我的数据结构博客StackCreateStack(intMaxSize){StackS=(Stack)malloc(sizeof(structSNode));//这个初始化记得写S->Top1=-1,S->Top2=MaxSize;//栈满的条件S->MaxSize=MaxSize;S->Data=(int