函数的约定: 对函数调用时如何传递参数的一种约定,我们知道调用函数前需要将参数压入栈然后再传递给函数,栈就是定义在进程中的一段内存,向下扩展,大小记录在PE头中,运行时确定栈的大小 函数执行完毕后,ESP的值如何变化? ESP的值恢复到函数调用之前,这样可引用的栈大小不会缩减 函数: 1 int f ...
分类:
其他好文 时间:
2020-05-19 00:47:36
阅读次数:
60
问题: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度 ...
分类:
其他好文 时间:
2020-05-15 11:45:33
阅读次数:
86
当一个元素要入栈时,我们取当前辅助栈的栈顶存储的最小值,与当前元素比较得出最小值,将这个最小值插入辅助栈中(min_stack.push(min(x,min_stack.top())) 当一个元素要出栈时,我们把辅助栈的栈顶元素也一并弹出; 在任意一个时刻,栈内元素的最小值就存储在辅助栈的栈顶元素中 ...
分类:
其他好文 时间:
2020-05-13 15:22:21
阅读次数:
54
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 示例: 输入:["MinStack","push","p ...
分类:
其他好文 时间:
2020-05-12 09:51:07
阅读次数:
53
概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此, ...
分类:
编程语言 时间:
2020-05-10 11:23:11
阅读次数:
81
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是Golang专题的第四篇,这一篇文章将会介绍golang当中的函数、循环以及选择判断的具体用法。 函数 在之前的文章当中其实我们已经接触过函数了,因为我们写的main函数本质上也是一个函数。只不过由于main函数没有返回值,也没有 ...
分类:
编程语言 时间:
2020-05-09 23:48:22
阅读次数:
118
疑难点:后缀表达式的入栈出栈操作 中缀,前缀,后缀表达式 ## 中缀表达式转化为前缀和后缀表达式 转化步骤: 按照运算符的优先级对所有的运算单位加括号 将运算符移动到对应括号的前面(前缀表达式)或后面(后缀表达式) 去掉括号,得到前缀或后缀表达式 示例: 中缀表达式:1+(2+3)×4-5 1)加括 ...
分类:
其他好文 时间:
2020-05-09 23:19:04
阅读次数:
51
下面这个程序,与其说是删除重复值,不如说是将不重复的值压入栈中 #include <iostream> using namespace std; int main() { int t; cin>>t; while(t--) { int n = 0; cin>>n; int a[100000]; in ...
分类:
其他好文 时间:
2020-05-08 22:44:29
阅读次数:
70
题意:给出一条字符串数组,只包含数字字符和+ * 这两种运算字符; 让我们对其进行计算; 数字不超过32位,每一位数仅用最后四位来表示(相当于对10000取模) 思路:我们只要将运算符和数字慢慢入栈,对于乘法部分,就率先计算即可 1 #include<bits/stdc++.h> 2 using n ...
分类:
其他好文 时间:
2020-05-08 12:57:25
阅读次数:
53
涉及到以下汇编指令: pushl: 入栈 ebp指向栈底 esp指向栈顶 入栈时只需要将esp下移, 将入栈的值放入esp指向的地址,如下图所示: popl: 出栈 先将栈顶的数据保存,再将esp上移 call:顾名思义,调用一个函数 调用一个函数需要将当前执行到的指令位置(eip寄存器的值)保存, ...
分类:
其他好文 时间:
2020-05-07 00:26:08
阅读次数:
72