这是工作中遇到的小问题。 数据结构中有一种数据类型——堆栈,该结构中的数据项有如下特点: 除了最前面和最后面的数据,每个数据项都有一个前驱结点和一个后继结点; 堆栈两端分别称为栈顶和栈底,数据项只能在栈顶加入或者弹出。 很明显,堆栈的数据遵循先入后出原则。假设我们有 3 个不同的数据项,编号 1,2 ...
分类:
其他好文 时间:
2020-10-18 16:50:00
阅读次数:
25
前面我们学习了很多关于栈的知识,比如《动图演示:手撸堆栈的两种实现方法!》和《JDK 竟然是这样实现栈的?》,那么接下来我们再来刷一些关于栈的经典面试题以巩固学过的知识。 我们今天的面试题是这样的... 题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 ...
分类:
编程语言 时间:
2020-10-16 11:10:57
阅读次数:
27
本文源码:GitHub·点这里||GitEE·点这里一、队列结构1、基础概念队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。2、特点描述队列是一个有序列表,可以用数组或是链表来实现,遵循先进先出的原则。即:先进入队列的数据,会先取出;后
分类:
编程语言 时间:
2020-09-17 19:41:15
阅读次数:
93
本章我们介绍有关栈的知识,栈的重点在于顺序存储,链式存储及其特点。 1.栈的基本概念 (1)栈的定义 栈是只允许在一端进行插入和删除的线性表。有一个栈顶和栈底。栈顶是允许插入和删除的那一端,栈底是不允许插入和删除的那一端。如果一个栈不包括任何元素,就是一个空表也就是空栈。 栈的特点是先进先出。 (2 ...
分类:
其他好文 时间:
2020-09-17 17:51:55
阅读次数:
21
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析: 队列的特性是:“先入先出”,栈的特性是:“先入后出”。 当我们向模拟的队列插入数 a,b,c 时,假设插入的是 stack1,此时的栈情况为: 栈 stack1:{a,b,c} 栈 stack2: ...
分类:
其他好文 时间:
2020-09-14 18:50:06
阅读次数:
27
STL 简单记录、讲解一些初级阶段常用的用法。 STL是C++的一个标准模板库,其中包含了许多在计算机领域常用的基本数据结构以及基本算法。STL主要依赖于模板,使得STL具有广泛的通用性。这篇文章旨在介绍一些常用的STL工具及其用法。 Algorithm 该头文件涉及许多常用的功能,例如比较、交换、 ...
分类:
其他好文 时间:
2020-09-09 19:10:05
阅读次数:
33
定义 栈是一种特殊的线性表,它只能在一个表的一个固定端进行数据结点的插入和删除操作。栈按照后进先出的原则来存储数据,也就是说,先插入的数据将被压入栈底,最后插入的数据在栈顶,读出数据时,从栈顶开始逐个读出。栈在汇编语言程序中,经常用于重要数据的现场保护。栈中没有数据时,称为空栈。 模拟实现 clas ...
分类:
编程语言 时间:
2020-08-29 15:22:49
阅读次数:
61
@ 前言 在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。 正文 解析 Java中方法的调用对应字节码有5条指令: invokestatic:用于调用静态方法。 ...
分类:
其他好文 时间:
2020-08-06 00:56:51
阅读次数:
87
最近我在学习JavaScript的过程中,对JavaScript的内存机制深感疑惑,所以查阅了一些资料和博客。将我了解到的分享出来,本人才疏学浅,希望有什么表述有误的地方,望指点一二。 JavaScript 的内存模型:调用栈和堆 栈(stack)是有结构的,每个区块按照一定次序存放(后进先出),栈 ...
分类:
编程语言 时间:
2020-07-28 22:08:06
阅读次数:
83
1、在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护当前的所有页面,当发生路由切换的时候,页面栈的表现如下: 路由方式页面栈表现 初始化 新页面入栈 打开新页面 新页面入栈 页面重定向 当前页面出栈,新页面入栈 页面返回 页面不断出栈,直到目标返回页 Tab 切换 页面全部出栈,只留下 ...
分类:
微信 时间:
2020-07-28 00:05:36
阅读次数:
109