码迷,mamicode.com
首页 >  
搜索关键字:入栈    ( 1820个结果
链栈基本操作
栈基本概念: 栈(stack)是限定在表尾进行插入和删除操作的线性表(或单链表)。 //只能在一段进行插入和删除,因此不存在,在中间进行插入 栈顶(top):允许插入和删除的一端。而另一端称为栈底(bottom) 空栈:不含任何数据元素的栈。 后进先出两个基本操作: 栈的插入操作(push),叫做进栈,或压栈,或入栈 删除操作(pop),叫做出栈,或弹栈 注意链栈next指针的指向,...
分类:其他好文   时间:2015-07-05 21:18:25    阅读次数:133
大话数据结构之三(栈和队列)
栈的定义栈是仅限有表尾进行插入和删除操作的线性表允许插入和删除操作的一端称为栈顶,别一端称为栈底。不包含任何数据元素的栈称为空栈。栈又称为先进后出(Last In First Out)的线性表,简称为LIFO结构。栈的插入操作叫做进栈,也称压栈、入栈。栈的删除操作叫做出栈,也称弹栈栈的抽象数据类型栈...
分类:其他好文   时间:2015-07-05 19:57:34    阅读次数:261
C++的引用
当C++的函数参数为引用时,是直接操作的原传入参数的变化.并不创建副本机制,没有出栈入栈操作.效率高,执行快.这不同于参数为指针.虽然也能操作原传入参数的地址,改变其值,但指针变量是有副本机制的,是经过入栈出栈的,只是所指向的内存地址与原变量的地址是一致的.这样的话效率就会相对低一点.表达式为fun...
分类:编程语言   时间:2015-07-03 09:05:48    阅读次数:134
HDU 4828 (卡特兰数+逆)
HDU 4828 Grids思路:能够转化为卡特兰数,先把前n个人标为0。后n个人标为1。然后去全排列,全排列的数列。假设每一个1的前面相应的0大于等于1,那么就是满足的序列,假设把0看成入栈,1看成出栈。那么就等价于n个元素入栈出栈,求符合条件的出栈序列,这个就是卡特兰数了。然后去递推一下解,过程...
分类:其他好文   时间:2015-07-01 13:48:15    阅读次数:128
求最长有效括号长度 java
题目:输入只包含圆括号的字符串,找出最长的合法括号子串的长度 比如: “(()”——》2,最长的有效子串是“()” “)()())”——》4,最长的有效子串是“()()” 解题思路: 如果输入是左括号就直接入栈,如果是右括号,如果此时栈为空或此时的栈顶不为左括号就不作处理同时把记录有效长度的临时变量置为0,如果栈顶为左括号则出栈并把记录有效长度的临时变量加2.最后返回最大的记录长...
分类:编程语言   时间:2015-07-01 10:09:33    阅读次数:234
Stack栈 Heap堆
Stack(栈)栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素...
分类:其他好文   时间:2015-06-28 22:49:13    阅读次数:184
Solution 2: Min Stack
问题描述定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。实现栈的push(), pop()及getMin()函数,要求函数的时间复杂度为O(1).解决思路使用两个栈,一个为普通栈,实现push和pop函数;另一个记录所有入栈元素的非递增序列;如下图所示:程序public class ...
分类:其他好文   时间:2015-06-28 20:05:05    阅读次数:109
栈的压入、弹出序列
【题目】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二序列是否为第一个栈的出栈序列,假设入栈所有数字各不相等,例如: 入栈序列{1,2,3,4,5} 出栈序列1{4,5,3,2,1} 出栈序列2{4,3,5,1,2} 出栈序列1是入栈序列的其中一个弹出结果,序列2不是。【分析】 弹出序列第一个为4,所以要让栈顶元素为4时弹出,所以压入1,2,3,直到4出现在栈顶,序列1第二个为5...
分类:其他好文   时间:2015-06-24 18:59:46    阅读次数:94
leetcode 225 Implement Stack using Queues
1. 问题描述  用队列来模拟栈的操作。实现如下栈操作:    push(x) 将元素x入栈。 pop() 出栈。 top() 获取栈顶元素。 empty() 判断是否为空。   注意:只能用队列的标准操作,队头取元素,队尾插入元素,获取队列的大小,以及队列是否为空。2 方法和思路  可以用两个队列q1和q2来实现栈的操作,设q2为辅助队列。    入栈时将元素都存入q1队列中。 出栈时将q1中...
分类:其他好文   时间:2015-06-20 12:00:50    阅读次数:123
【C++】STL :栈
c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO)使用该容器时需要包含#include头文件;定义stack对象的示例代码如下:stacks1;stacks2;stack的基本操作有:1.入栈:如s.push(x);2.出栈:如 s.pop().注意:出栈操作只是删...
分类:编程语言   时间:2015-06-16 16:43:17    阅读次数:120
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!