美文网首页算法练习
栈实现队列(双栈,临时栈)

栈实现队列(双栈,临时栈)

作者: 倚剑赏雪 | 来源:发表于2020-02-18 21:06 被阅读0次

//利用双栈法

Stack<int> inputStack = new Stack<int>();
Stack<int> outStack = new Stack<int>();
void Push(int x)
{
    inputStack.Push(x);
}
int Pop()
{
    Adjust();
    return outStack.Pop();
}
int Peek()
{
    Adjust();
    return outStack.Peek();
}
void Adjust()
{    if (outStack.Count>0) return;
    while (inputStack.Count>0)
{
        outStack.Push(inputStack.Pop());
}
}

利用临时栈

  Stack<int> resStack = new Stack<int>();
    void Push1(int x)
    {
        Stack<int> tempStack = new Stack<int>();
        while (resStack.Count>0)
        {
            tempStack.Push(resStack.Pop());
        }
        tempStack.Push(x);
        while (tempStack.Count>0)
        {
            resStack.Push(tempStack.Pop());
        }
    }

相关文章

  • 栈实现队列(双栈,临时栈)

    //利用双栈法 利用临时栈

  • C语言第七次作业:链表

    707. 设计链表 空指针 空节点 225. 用队列实现栈 链式存储栈 双队列实现栈 232. 用栈实现队列 链式...

  • 算法分析 [BFS、Greedy贪心] 2019-02-18

    队列 和 栈 232. 用栈实现队列 Implement Queue using Stacks双栈,出队列时,将i...

  • Algorithm小白入门 -- 队列和栈

    队列和栈队列实现栈、栈实现队列单调栈单调队列运用栈去重 1. 队列实现栈、栈实现队列 队列是一种先进先出的数据结构...

  • 数据结构——栈和队列

    用数组实现栈和队列 用栈实现队列 用队列实现栈 栈和队列的经典算法题最小间距栈宠物收养所 数组实现栈和队列 用数组...

  • Swift 队列&栈 相关操作

    栈 LIFO(后进先出) 队列 FIFO(先进先出) 队列与栈相互的实现 栈 - 队列实现 队列 - 栈实现 相关...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • 栈&队列

    一、栈&队列总结 栈/队列的应用接雨水验证栈序列滑动窗口的最大值 栈/队列的特殊实现用两个栈实现队列用两个队列实现...

  • 队列之-队列实现栈

    一、队列实现栈核心算法概述 之前已经描述过了用栈实现队列的功能,见栈系列之-实现队列,那么同样队列也可以用来实现栈...

  • 38_两个有趣的问题

    关键词:通过栈实现队列、通过队列实现栈 0. 通过栈实现队列 用栈实现队列等价于用后进先出的特性实现先进先出的特性...

网友评论

    本文标题:栈实现队列(双栈,临时栈)

    本文链接:https://www.haomeiwen.com/subject/iaunfhtx.html