第4章 栈与队列 栈是限定仅在表尾进行插入和删除操作的线性表。 队列是只允许在一端进行插入操作、而另一端进行删除操作的线性表。 4.2 栈的定义 4.2.1 栈的定义 栈(stack)是限定尽在表尾进行插入和删除操作的线性表。 允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何数据元素的栈称为空 ...
分类:
其他好文 时间:
2019-11-30 12:10:14
阅读次数:
74
我们今天主要来谈谈“栈”以及队列这两种数据结构。 回顾一下上一章中 "【数据结构01】数组" 中,在数组中只要知道数据的下标,便可通过顺序搜索很快查询到数据,可以根据下标不同自由查找,然而今天要讲的“栈”以及队列这两种数据结构访问是受限制的,只允许在一端读取、插入和删除数据,这时候对它存在的意义产生 ...
分类:
其他好文 时间:
2019-11-18 20:07:36
阅读次数:
50
LinkedList——底层是双链表结构 addFirst——添加到开头 addLast——添加到末尾 getFirst——获取开头元素 getLast——获取末尾元素 removeFirst——删除开头元素 removeLast——删除末尾元素 这些方法可以模拟栈与队列的结构 ...
分类:
其他好文 时间:
2019-11-07 23:49:45
阅读次数:
107
内容概览及预备知识: 预备知识:栈与队列: STL基本的栈操作(stack): 1 #include <iostream> 2 using namespace std; 3 4 #include <stack> 5 int main(){ 6 stack <int> stk; 7 if(stk.em ...
分类:
其他好文 时间:
2019-11-03 18:29:55
阅读次数:
135
1 栈与队列 1.1 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数 在该栈中,调用min、push和pop方法 要求时间复杂度均为O(1) 算法思想: 要求时间复杂度均为O(1),增加辅助空间实现,即增加一个专门用来存储min值的辅助栈 比如,data中依 ...
分类:
其他好文 时间:
2019-10-16 19:39:33
阅读次数:
69
关于栈与队列 栈与队列是特殊的线性表。 访问,插入,删除等操作只能在栈顶进行;对于队列,元素只能从队尾插入,从队头删除和访问。 换句话说,栈和队列是有操作限制的线性表。 顺序存储的栈称为顺序栈;链式存储的栈称为链式栈。 基于数组实现栈 基于链表实现栈 基于数组实现队列 基于链表实现队列 ...
分类:
其他好文 时间:
2019-10-08 14:20:51
阅读次数:
85
栈与队列 单调栈,单调队列,优先队列。 蚯蚓 Description 给你一堆数,有 $n$ 个,并对他们操作 $m$ 次。每次取出最大的一个数 $x$,称之为母数。并将 $x$ 分割成左端数 $[x \times p]$ 和右端数 $x [p \times x]$,并把这两个数放回数堆中,其余数均 ...
分类:
其他好文 时间:
2019-10-03 20:22:51
阅读次数:
103
Problem Description refresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先 进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉 ...
分类:
其他好文 时间:
2019-09-21 13:10:37
阅读次数:
121
栈和队列的应用非常多,但其起实现嘛,其实很少人关心。 虽然苹果一直宣传什么最小年龄的编程者,它试图把编程大众化,弱智化,但真正的复杂问题,需要抽丝剥茧的时候,还是要 PRO 人士出场,所以知根知底,实在是必要之举(而非无奈之举)。 大门敞开,越往里走越窄 ,竞争会越激烈。 栈 基本特性 就一条,FI ...
分类:
编程语言 时间:
2019-08-20 19:06:15
阅读次数:
125
C实现栈与队列 做了个栈和队列的基础demo,写得比较快,就没有什么注释,其实看各个函数的名字就可以知道函数的作用了。 栈的实现 c include include typedef struct stack{ int nums; int top; int size; } stack; void ch ...
分类:
其他好文 时间:
2019-06-27 21:50:59
阅读次数:
130