栈和队列在实现上非常的相似,可以相互实现,但对比直接使用链表实现,并不高效。
分类:
其他好文 时间:
2018-06-22 15:30:55
阅读次数:
160
栈的特点是后进先出,即最后别呀如栈的元素会第一个被弹出(pop)。 队列是另外一个很重要的数据结构。和栈不同的是,队列的特点是先进先出,即第一个进入队列的元素将会第一个出来。 题目:用两个栈是新啊一个队列。队列的声明那个如下,请实现它的两个函数apeendTail和deleteHead,分别完成在对 ...
分类:
其他好文 时间:
2018-06-20 14:38:31
阅读次数:
171
Stack(栈)是一种后进先出的数据结构,也就是LIFO(last in first out) ,最后加入栈的元素将最先被取出来,在栈的同一端进行数据的插入与取出,这一段叫做“栈顶”。 使用STL的stack需要include一个头文件<stack> 构造 template <class T, cl ...
分类:
编程语言 时间:
2018-06-17 18:56:36
阅读次数:
132
1.打印一个链表,从尾到头打印链表 2、用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型 思路:两个栈S1,S2,分别作为存储区和缓冲区 入队时,将元素压入s1。 出队时,将s1的元素逐个“倒入”(弹出并压入)s2,将s2的顶元素弹出作为出队元素,之后再将s2剩下的 ...
分类:
编程语言 时间:
2018-06-09 17:53:36
阅读次数:
189
题目描述 输入两个链表,找出它们的第一个公共结点。 思路一: 此题是一个Y型链表,由于两个链表有公共节点,那就说明一定是前面不相同的部分长度不同。计算两个链表的长度l1,l2,让长的链表先走l1-l2次,这样两个链表就会同时到达公共节点处。 Y型链表长这样: 代码: int GetLenth(Lis ...
分类:
其他好文 时间:
2018-06-03 12:47:23
阅读次数:
189
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 ...
分类:
其他好文 时间:
2018-05-19 17:05:34
阅读次数:
144
转载请注明出处 初始时,保证两个栈至少有一个为空;本程序的类中两个栈在初始化时默认为空栈; 队列特性为先进先出, 元素依次入栈s1内后,再将非空栈s1内的元素依次出栈全部压入到空栈s2内,就实现了原s1内后进来的数据放到了s2最下面, 这样栈s2的元素在逐个进行出栈操作时,就实现了模拟队列的的出队操 ...
分类:
其他好文 时间:
2018-05-19 14:44:28
阅读次数:
208
题目描述:按照规定,把字符串解码,具体示例见 "题目链接" 思路:使用两个栈分别存储数字和字母 注意1: 数字是多位的话,要处理后入数字栈 注意2: 出栈时过程中产生的组合后的字符串要继续入字母栈 注意3: 记得字母出栈的时候字符要逆序组合成字符串 注意4: 不用字符串而用字母栈的原因是字符串的 j ...
分类:
编程语言 时间:
2018-05-17 00:00:40
阅读次数:
266
题目大意: 给定n和一串数字,这串数字是一个1~n的排列。现在要用两个栈给这些数字排序。首先先判断是否有解,有解的话再输出字典序最小的方案: 入栈1,输出a,出栈1,输出b 入栈2,输出c,出栈2,输出d 分析: 首先必然要先考虑是否有解。对于没有解的情况,必然是当到了某一个数x0时,栈1,栈2队首 ...
分类:
编程语言 时间:
2018-05-13 13:53:19
阅读次数:
204
1.定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 方法:1.使用两个栈 stackData,stackMin,一个记录数据,另一个栈确保栈顶是当前数据栈的最小元素 2.入栈:若stackMin空,则直接入,否则如果当前元素小于等于栈顶元素,入栈,否则,不入。 3.出栈:如果 ...
分类:
其他好文 时间:
2018-05-12 12:39:54
阅读次数:
152