栈顶指针esp 栈底指针ebp esp寻址 构建函数 1.使用寄存器传递参数 2.使用堆栈来传递参数 push 1 push 2 push 3 把要用的参数压入堆栈后,需要用call调用函数来计算参数,调用call时,会将call的下一行指令的地址压入栈中,所以使用参数时地址为[esp+4,8,12 ...
分类:
其他好文 时间:
2020-02-21 20:34:56
阅读次数:
84
41. 包含min函数的栈 设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈。 push(x)–将元素x插入栈中 pop()–移除栈顶元素 top()–得到栈顶元素 getMin()–得到栈中最小元素 单调栈) O(1) https://www.acwing.c ...
分类:
其他好文 时间:
2020-02-20 17:01:58
阅读次数:
92
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长 ...
分类:
其他好文 时间:
2020-02-19 17:35:32
阅读次数:
77
给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’ 的字符串,判断字符串是否有效。 括号必须以正确的顺序关闭,”()” 和 “()[]{}” 是有效的但是 “(]” 和 “([)]” 不是。 思路: 利用一个列表模拟堆栈进行匹配,遍历字符串,遇见左括号就进行入栈操作,遇见一次右括号就进行 ...
分类:
其他好文 时间:
2020-02-18 13:26:44
阅读次数:
80
题目大意:规定 i 为入栈,o 为出栈,现在给两个字符串st1,st2,现在要将st1转化为st2,转化方法是,st1中字符从头开始入栈,并合理出栈构造出st2。请输出所有可能的出入栈步骤。 深度优先搜索+回溯~ #include<bits/stdc++.h> using namespace std ...
分类:
其他好文 时间:
2020-02-15 11:47:10
阅读次数:
53
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 push时直接入栈stack1,pop时若stack2为空则stack1出栈到stack2后stack2.pop(),否则stack2直接pop。 时间复杂度O(1)。 代码 ...
分类:
其他好文 时间:
2020-02-14 10:52:33
阅读次数:
73
class Solution(object): def isValid(self, s): """ :type s: str :rtype: bool """ stack = [] #存放符号 d = {"]": "[", ")":"(", "}":"{"} “”“ 判断符号是否是结束符号,如果是, ...
分类:
其他好文 时间:
2020-02-11 14:31:18
阅读次数:
61
今天学习内容:安卓活动生命周期以及数据存储 Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合, 这个栈也被称作返回栈(Back Stack)。栈是一种后进先出的数据结构,在默认情况下,每当我 们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。而每当我 ...
分类:
其他好文 时间:
2020-02-07 01:22:46
阅读次数:
72
#include <stdio.h>#include <stdlib.h> typedef struct Node{ int data ; struct Node * pNext;}*PNODE ,NODE ; typedef struct stack{ PNODE pTop; PNODE pBot ...
分类:
编程语言 时间:
2020-02-05 00:00:23
阅读次数:
201
在并查集(不相交集)中附加操作$Deunion$,它实现的功能是取消最后一次$Union$的操作。 实现思想 初始化一个空栈,将每一次的$Union$操作的两个集合的根和其值$Push$入栈;若执行$Deunion$操作时,只需要对栈进行$Pop$操作即可。在没有 路径压缩 时,这个策略是有效的;若 ...
分类:
其他好文 时间:
2020-02-04 15:52:42
阅读次数:
88