原文地址:https://www.cnblogs.com/Cloudcan/p/13326550.html 遵循两条原则:1.某出栈元素之后出栈的各元素,若比其小(即在原队列中先进栈),必须为从大到小排序(即倒序);2.最大的倒序数列,其元素数目不可以超过栈大小。例如5 6 4 3 7 2 1,最大 ...
分类:
其他好文 时间:
2020-07-17 09:25:45
阅读次数:
68
####简单类对象的实例化过程: 在方法区加载类 在栈内存申请空间,声明变量P 在堆内存中开辟空间,分配对象地址 在对象空间中,对对象的属性进行默认初始化,类成员变量显示初始化 构造方法进栈,进行初始化 初始化完成后,将堆内存中的地址赋给引用变量,构造方法出栈 ####子类对象的实例化过程: 在方法 ...
分类:
编程语言 时间:
2020-07-17 01:21:13
阅读次数:
96
栈 "栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。 一、概念 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表,这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入 ...
分类:
其他好文 时间:
2020-07-15 12:50:17
阅读次数:
50
401. 二进制手表 描述: 二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。 每个 LED 代表一个 0 或 1,最低位在右侧。 思路:递归回溯法。 402. 移掉K位数字 描述: 思路:维护一个栈。来一个数入栈,当栈顶元素大于准备进栈的, ...
分类:
其他好文 时间:
2020-07-11 22:37:37
阅读次数:
80
原题链接 来源:剑指offer, Hulu面试题 题意很简单。给定一个单链表,反转这个单链表,返回翻转后的头节点。 方法一 借助栈的性质 要将链表翻转,很容易想到借助栈的后进先出的性质来改变链表的顺序。 将链表节点顺序压入栈中,链表节点全部进栈以后,取栈顶元素作为新链表的头节点,然后将元素不断出栈, ...
分类:
其他好文 时间:
2020-07-10 11:23:11
阅读次数:
75
1.单个线性表+位置指针: //栈 int stack[LEN],top=-1; //入栈 stack[++top]=x; //出栈 x=stack[top--];//队列int queue[LEN],front=0,last=0;//入队queue[last++]=x;front=(front+1 ...
分类:
其他好文 时间:
2020-07-05 23:26:40
阅读次数:
112
栈是一种基本的数据结构 基本概念 栈(Stack):具有一定操作约束的线性表。 只在一端(栈顶,Top)做插入、删除操作 插入数据:入栈(Push) 删除数据:出栈(Pop) 后入先出:Last In First Out(LIFO) 抽象数据类型描述 类型名称:栈 数据对象集:一个有0个或多个元素的 ...
分类:
其他好文 时间:
2020-07-05 19:36:04
阅读次数:
71
栈 定义 栈是限定仅在表尾进行插入或删除操作的线性表。因此对栈来说,表尾端有其特殊含义,称为栈顶,表头端称为栈底。不含元素的空表称为空栈。栈顶实现元素的进出,栈的修改遵循后进先出的原则。因此,栈又称为**后进先出(last in first out)**的线性表(简称LIFO结构)。 表示及实现 栈 ...
分类:
编程语言 时间:
2020-07-05 13:22:58
阅读次数:
67
(一):中缀表达式转后缀表达式从左到右处理各个元素1.遇到操作数。直接加入后缀表达式2.遇到界限符。遇到'('直接入栈,遇到')'则依次弹出栈内运算符并加入后缀表达式,直到弹出'('为止。注意:'('不加入后缀表达式。3.遇到运算符。依次弹出栈中优先级高于或等于当前运算符的所有运算符,并加入后缀表达 ...
分类:
其他好文 时间:
2020-07-04 22:43:51
阅读次数:
64
https://leetcode-cn.com/problems/longest-valid-parentheses/ 思路 一开始的想法是用栈辅助匹配括号,后来发现题目中求的是最长有效,发现用栈直接匹配括号有点麻烦。后来,看了官方题解: 使用栈来记录最后一个没有被匹配的右括号的下标 对于遇到的每个 ...
分类:
其他好文 时间:
2020-07-04 22:23:40
阅读次数:
38