剑指offer第七题:利用两个栈实现队列 扩展:利用两个队列实现栈 ...
                            
                            
                                分类:
其他好文   时间:
2016-05-18 21:44:19   
                                阅读次数:
163
                             
                         
                    
                        
                            
                            
                                本来画了图的,可是今天传上来的图片都看不了,只能默默敲下来了思路:队列s1和队列s2Push进来的元素压入非空队列Pop操作之后的元素放在空队列入栈:(1)s1为空,s2为空把所有数据压入s1中(2)s1为空,s2不为空数据压入s2(3)s1不为空,s2为空数据压入s2出栈:(1)s2为空把..
                            
                            
                                分类:
其他好文   时间:
2016-05-15 19:57:29   
                                阅读次数:
172
                             
                         
                    
                        
                            
                            
                                1、两个栈实现一个队列 有三种思路: 思路一:将stack1作为存储空间,将stack2作为临时缓冲区,入队时,直接压入stac1,出队时,将stack1中的元素依次出栈压入stack2中,再将stack2的栈顶元素弹出,最后将stack2中的元素再倒回给stack1 思路二:入队时,判断stack ...
                            
                            
                                分类:
其他好文   时间:
2016-05-13 20:38:54   
                                阅读次数:
132
                             
                         
                    
                        
                            
                            
                                #include 
#include 
#include 
#include "ioctl_led.h"
#define DEV_NAME	"test-dev"
volatile bool empty = true;
//定义一个进程资源的指针变量
struct task_struct *task;
int test_open(struct inode *inode, struct file ...
                            
                            
                                分类:
系统相关   时间:
2016-05-13 15:08:20   
                                阅读次数:
212
                             
                         
                    
                        
                            
                            
                                ```#include using namespace std;const int MAXSIZE = 1000;typedef int ELEMTYPE;const int N = 10;typedef struct { ELEMTYPE data[MAXSIZE]; int head; int ... ...
                            
                            
                                分类:
编程语言   时间:
2016-05-13 12:10:30   
                                阅读次数:
136
                             
                         
                    
                        
                            
                            
                                1.用两个栈实现队列
分析:队列的特点是“先进先出”,而栈的特点是“后进先出”,入队列时让所有的元素进到stack1中,出队列时先判断stack2是否为空,不为空直接pop即可,若为空,将stack1中所有的元素“倒入”stack2中,这样就用两个栈实现了队列。
实现代码:
class Solution
{
public:
    void push(int node) {
        ...
                            
                            
                                分类:
其他好文   时间:
2016-05-12 16:28:22   
                                阅读次数:
149
                             
                         
                    
                        
                            
                            
                                栈实现的是后进先出(先进后出)策略,队列实现的是先进先出策略。
1 栈
栈上的操作主要包括
INSERT操作称为压入(PUSH)。注意上溢问题,即往满栈里添加元素。
无参数版本的DELETE操作称为弹出(POP)。注意下溢问题,即从空栈上取元素。
STACK-EMPTY判断栈是否为空
栈的实现思路
用一个数组s[1..n]来实现一个最多可容纳n个元素的栈。该数组有一个参数s.top用...
                            
                            
                                分类:
其他好文   时间:
2016-05-12 15:38:30   
                                阅读次数:
158
                             
                         
                    
                        
                            
                            
                                1.//使用两个队列实现一个栈,优化版(1.入栈只如q1,出栈将q1数据倒q2,删掉刚进来的,
//若q1无数据,从q2倒,删q2中最后一个数据2.只保证一个栈中有数据,简单,易理解)
//第一种实现template<classT>
classStack
{
public:
	boolEmpty()
	{
		return_q1.empty()&&a..
                            
                            
                                分类:
其他好文   时间:
2016-04-25 19:43:05   
                                阅读次数:
192