队列的应用场景: 数组模拟队列: package com.model.queue; import java.util.Scanner; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/6/24 20:39 * * 数组模拟队列,并验证 */ p ...
分类:
编程语言 时间:
2021-06-25 16:46:50
阅读次数:
0
tarjan 模板 int low[N],dfn[N],Stack[N],belong[N]; //最小下表,时间戳,一个用数组模拟的栈 //belong[x]表示x所属的强连通分量的编号 int idx,top;//,动态时间戳,栈顶 int scc; //scc表示强连通分量的个数 bool i ...
分类:
其他好文 时间:
2021-04-23 12:23:00
阅读次数:
0
Challenge 0 给一个长为 \(n\) 的数列,有 \(M\) 次操作 \((1\le n, m \le 10^5)\),每次操作是以下两种之一: 修改数列中的一个数 求数列中某位置的值 解答:数组模拟即可。 #include <iostream> #include <cstdio> #in ...
分类:
其他好文 时间:
2021-03-16 11:41:02
阅读次数:
0
基本数据结构 双向链表 用数组模拟链表实现 ####双向链表初始化 l[1]=r[1]=0;r[0]=1; 结点1的左边和右边都是1,结点0的右边是1,为什么结点0会存在?因为后续元素有可能插入到结点1的前面 插入 #####将i插入到x的左边 x原本的左边为l 调整后的顺序为l,i,x 想象l和x ...
分类:
其他好文 时间:
2021-02-19 13:18:28
阅读次数:
0
AcWing 848. 有向图的拓扑序列 用BFS来写拓扑,以前还真没想过这个思路 之前用的都是深搜找拓扑序 依然是正常用数组实现一个邻接表,然后用数组模拟队列,从入度为0,即d[i] == 0的点开始搜索 用数组模拟队列的原因是为了最后方便直接输出拓扑序,就不用另开一个数组专门存储了 代码中的几个 ...
/** * 使用数组模拟队列 * @author Administrator */ public class ArrayQueueDemo { public static void main(String[] args) { ArrayQueue arrayQueue = new ArrayQueu ...
分类:
编程语言 时间:
2020-09-17 13:59:28
阅读次数:
24
数组模拟单链表,图论的基础 单链表用的最多的是邻接表,邻接表是n个单链表,邻接表是树和图的存储方式 单链表 >> 邻接表 >> 存储树和图 单链表开始时是head指向空节点 插入元素后长这样 每个节点存储两个值 值:val 指针:next 然后用数组模拟就需要定义几个数组 e[N]:存储每个节点的v ...
分类:
其他好文 时间:
2020-07-11 17:43:21
阅读次数:
62
改良后代码: package com.javase.Exception; /* 编写程序,使用一维数组,模拟栈数据结构。 要求: 1 这个栈可以存储java中的任何类型的数据。 2 在栈中提供push方法模拟压栈。(栈满了,要有提示信息。) 3 在栈中提供pop方法模拟弹栈。(栈空了,也有提示信息。 ...
分类:
其他好文 时间:
2020-07-07 22:13:01
阅读次数:
86
题意:有一个长度$n$的序列,如果$a_<a_{i+1}$,那么可以选择删除$a_$或者$a_{i+1}$,再继续操作,问是否能够将序列删到只剩一个元素. 题解:感觉这种序列变化的题目能用stack写,所以用数组模拟stack写了一发. ? 首先,假如栈为空或者$a_<a_$,那么就让$a_$入栈. ...
分类:
其他好文 时间:
2020-07-07 15:35:41
阅读次数:
56
队列 概念 队列:是限只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 遵循先进先出原则,简称FIFO 线性表 —> 用数组或是链表来实现。 抽象数据类型 队列也有类似线性表的各种操作,不同的是 插入数据只能在队尾进行 删除数据只能在队头进行 实际场景:银行叫号排队 数组模拟队列 思路分析 ...
分类:
其他好文 时间:
2020-07-06 01:02:49
阅读次数:
57