本文共 918 字,大约阅读时间需要 3 分钟。
栈的特点:
先进后出 队列特点: 先进先出 实现方法: 定义两个栈,在插入队列的时候往栈1中插入,在删除的时候先把栈1的数据全部插入到栈2中,然后删除栈2顶部的元素,这样就可以实现先出的功能。#define _CRT_SECURE_NO_WARNINGS#includeusing namespace std;#include template class Queue{public: void Push(const T& x) { _stack1.push(x); } void Pop() { if (_stack2.size() <= 0) { if (!_stack1.empty()) { T& data = _stack1.top(); _stack1.pop(); _stack2.push(data); } } if (_stack2.empty()) { cout << "queue is empty!" << endl; return; } _stack2.pop(); }private: stack _stack1; stack _stack2;};void test(){ Queue q; q.Push(1); q.Push(2); q.Push(3); q.Push(4); q.Push(5); q.Pop(); q.Pop(); q.Pop(); q.Pop(); q.Pop();}int main(){ test(); system("pause"); return 0;}
转载地址:http://dqstd.baihongyu.com/