美文网首页
l4 使用栈(先进后出)来实现队列(先进先出)的功能

l4 使用栈(先进后出)来实现队列(先进先出)的功能

作者: 张霸天 | 来源:发表于2017-10-04 12:23 被阅读0次
#include <iostream>
#include <stack>
#include <queue>

class CQueue {
public:
    CQueue(void);
    ~CQueue();
    
    void appendTail(int node);
    int deleteHeader();
    
private:
    std::stack<int> * stack1;
    std::stack<int> * stack2;
};

CQueue::CQueue(void) {
    stack2 = new std::stack<int>;
    stack1 = new std::stack<int>;
}

CQueue::~CQueue() {
    delete stack1;
    delete stack2;
}

void CQueue::appendTail(int node) {
    stack1->push(node);
}

int CQueue::deleteHeader() {
    if (stack2->empty()) {
        while (!stack1->empty()) {
            int tmp = stack1->top();
            stack2->push(tmp);
            stack1->pop();
        }
    }
    
    if (stack2->empty()) {
        printf("queue is empty");
        return -1;
    } else {
        int returnValue = stack2->top();
        stack2->pop();
        return returnValue;
    }
}

int main () {
    CQueue *queue = new CQueue();
    for (int i = 0; i < 10; i++) {
        queue->appendTail(i);
    }
    
    for (int i = 0; i < 10; i++) {
       int result = queue->deleteHeader();
        printf("%d",result);
    }
}

相关文章

  • LeetCode 用栈实现队列

    用栈实现队列 思路:因为队列是先进先出,而栈是先进后出,所以可以使用两个栈来模拟一个队列,一个栈先进入元素,想要得...

  • 队列

    队列: 先进先出 栈: 先进后出 1.使用Queue实现生产者与消费者解耦 可以使用队列来实现线程间的同步 生产者...

  • Python编程题33--用栈实现队列

    题目 栈和队列是常见的数据结构,栈的特点是 先进后出,而队列的特点是 先进先出。 请使用 栈 模拟实现队列的下列操...

  • Python编程题34--用队列实现栈

    题目 栈和队列是常见的数据结构,队列的特点是 先进先出,而栈的特点是 先进后出。 请使用 队列 模拟实现栈的下列操...

  • 多进程

    队列先进先出,与队列相反的是栈,先进后出 通过队列实现进程间通讯 进程池

  • 面试题9:用两个栈实现队列

    用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型思路:栈先进后出,队列先进先出,...

  • 第四章_栈和队列_2019-03-20

    基本知识点 栈:先进后出,队列:先进先出 栈和队列都既能用数组实现,又能用链表实现 栈和队列的基本操作:pop()...

  • l4 使用栈(先进后出)来实现队列(先进先出)的功能

  • 9.用两个栈实现队列

    题目:用两个栈实现队列,实现先入先出的特点。简化问题:使用两个栈先进后出的特点来实现一个队列先进先出的特点,很简单...

  • 栈和队列

    一、定义 栈:先进后出 队列:先进先出 二、题目 1.用数组结构实现大小固定的栈和队列 2.返回栈中最小元素 题意...

网友评论

      本文标题:l4 使用栈(先进后出)来实现队列(先进先出)的功能

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