用递归函数和栈的操作实现逆序一个栈 一个栈依次压入1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1,将这个栈转置后,从栈顶到栈底为1、2、3、4、5,也就是实现栈中元素的逆序,但是只能使用递归函数来实现,不能实现其他数据结构。 ...
分类:
其他好文 时间:
2018-07-09 23:17:45
阅读次数:
211
由两个栈组成队列 由两个栈实现一个队列,支持队列的基本操作(add poll peek),需要注意的是,stackPush向stackPop中压入数据,必须一次性的把stackPush中的元素全部压入,此外,如果stackPop不为空,不能向stackPop中压入数据。 ...
分类:
其他好文 时间:
2018-07-08 15:36:13
阅读次数:
113
设计一个有getMin功能的栈 设计一个具有getMin功能的栈,可以返回栈中的最小的元素,可以使用现有的栈的数据结构,要求pop/push/getMin操作的时间复杂度是O(1)。 ...
分类:
其他好文 时间:
2018-07-08 14:43:44
阅读次数:
117
前言:题图无关,只是好看,接下来就来复习一下栈和队列的相关知识 前序文章: 数据结构与算法(1)——数组与链表(https://www.jianshu.com/p/7b93b3570875) 栈 什么是栈 栈是一种用于存储数据的简单数据结构(与链表类似)。数据入栈的次序是栈的关键。可以把一桶桶装的薯 ...
分类:
编程语言 时间:
2018-07-06 11:27:20
阅读次数:
208
stack的基本操作 ? s.size():返回栈中的元素数量 ? s.empty():判断栈是否为空,返回true或false ? s.push(元素):返回对栈顶部“元素”的可变(可修改)引用 ? s.pop():删除栈顶元素,类型为void,但并不返回被删除的元素 ? s.top():返回栈顶 ...
分类:
编程语言 时间:
2018-07-03 11:30:25
阅读次数:
218
栈: <1>使用栈,要包含头文件:#include <stack> <2>定义栈,stack<Type> s; 其中Type为数据类型,可以是基本数据类型(如char, int, float等),也可以是用户自定义的类型(如用户自定义的结构体类型或者class类型); <3>栈的几种基本操作: 队列 ...
分类:
编程语言 时间:
2018-06-22 23:54:26
阅读次数:
227
栈和队列是两种基本的数据结构,同为容器类型。两者根本的区别在于: stack:后进先出 queue:先进先出 PS:stack和queue是不能通过查询具体某一个位置的元素而进行操作的。但是他们的排列是按顺序的 对于stack我们可以使用python内置的list实现,因为list是属于线性数组,在 ...
分类:
其他好文 时间:
2018-06-22 22:38:52
阅读次数:
800
栈和队列在实现上非常的相似,可以相互实现,但对比直接使用链表实现,并不高效。
分类:
其他好文 时间:
2018-06-22 15:30:55
阅读次数:
160
一.栈(stack) 1.后进先出,压入(push),弹出(pop) 2.栈顶 S[S.top] 操作,S.top指向最新压入的元素 1 #栈(stack) 2 class Stack: 3 def __init__(self,S=[]): 4 #初始化空栈,设置属性栈顶指针top和栈的列表表示 5 ...
分类:
其他好文 时间:
2018-06-21 00:04:07
阅读次数:
184
一:栈 栈和队列也是线性结构,线性表、栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到限制。栈的操作只能在表的一端进行,队列的插入操作在表的一端进行而其它操作在表的另一端进行,所以,把栈和队列称为操作受限的线性表。 1:栈的定义及基本 ...