问题描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。算法分析:push: 
1.将数据压入stack1;pop: 
1.将stack1中所有数据弹出到stack2; 
2.将stack2中第一个数弹出设置为返回值; 
3.将stack2中所有数据弹出到stack1; 
4.将返回值返回代码实现class Solution
{
public:
    void...
                            
                            
                                分类:
其他好文   时间:
2015-09-17 01:13:24   
                                阅读次数:
212
                             
                    
                        
                            
                            
                                题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。分析:使用两个栈,一个正常存取元素,一个栈用来存储最小的元素,代码如下: 1 import java.util.Stack; 2 3 public class Solution { 4 5 Stack s1...
                            
                            
                                分类:
其他好文   时间:
2015-09-03 11:35:19   
                                阅读次数:
133
                             
                    
                        
                            
                            
                                相关题目:《剑指offer》面试题7templateclass Queue { public: Queue(); ~Queue(); void Push(const T& value) { s1.push(value): } void...
                            
                            
                                分类:
编程语言   时间:
2015-09-01 16:45:15   
                                阅读次数:
160
                             
                    
                        
                            
                            
                                #include 
#include 
using namespace std;template
class QUEUE
{
    public:
    QUEUE(){}
    ~QUEUE(){}
    void APPEND(const T val)
    {
        while(st2.empty()==false)...
                            
                            
                                分类:
其他好文   时间:
2015-09-01 01:45:14   
                                阅读次数:
173
                             
                    
                        
                            
                            
                                用两个栈实现队列  题目描述: 
??用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 
解题思路: 
??利用一个栈来作为暂时存储的栈,类似于汉诺塔问题,可以根据下图思考一下, 
我的Java源代码:  import java.util.Stack;
public class Solution {
    Stack stack1 = new...
                            
                            
                                分类:
其他好文   时间:
2015-08-29 00:52:17   
                                阅读次数:
135
                             
                    
                        
                            
                            
                                用两个栈实现一个队列。队列的声明如下,请实现他的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
/**
 *题目:用两个栈实现一个队列。队列的声明如下,请实现他的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
 *时间:2015年8月27日09:52:06
 *文件...
                            
                            
                                分类:
其他好文   时间:
2015-08-27 15:19:07   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。好像第二种更好一点,毕竟push操作的频率高于pop。 1 class Solution 2 { 3 public: 4 void push(int node) { 5 if(stack1.e...
                            
                            
                                分类:
其他好文   时间:
2015-08-25 18:25:57   
                                阅读次数:
115
                             
                    
                        
                            
                            
                                在知乎上看到这道题目,就实现了下看看。如有错误,麻烦各位看官留言指导下。首先两个栈实现一个队列的思路是这样的: (1)用栈A作为队列的入口,只提供入队操作, 用栈B作为队列的出口,只提供出口。 (2)由于栈的特性是后进先出, 队列是先进先出, 若要出队(即把栈A最底层的元素pop出来), 需...
                            
                            
                                分类:
编程语言   时间:
2015-08-21 13:09:55   
                                阅读次数:
250
                             
                    
                        
                            
                            
                                问题:
假设有这样一个拥有3个操作的队列:
1. EnQueue(v): 将v加入队列中
2. DeQueue(): 使队列中的队首元素删除并返回此元素
3. MaxElement: 返回队列中的最大元素
设计一种数据结构和算法,让MaxElement操作的时间复杂度尽可能地低。
思路:
(1)用两个栈设计一个新的数据类型(数据类型定义为MyStack),其中一个栈用来存...
                            
                            
                                分类:
其他好文   时间:
2015-08-21 00:21:47   
                                阅读次数:
287
                             
                    
                        
                            
                            
                                题目 
        定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min,push及pop的时间复杂度都是O(1).思路 
  使用两个栈,一个数据栈用来存放数据,一个辅助栈用来存放最小值.#include 
#include template  class StackWithMin
{
publi...
                            
                            
                                分类:
其他好文   时间:
2015-08-20 16:55:34   
                                阅读次数:
145