源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C++中用两个标准容器stack,实现一个队列的方法详解

  • 时间:2022-06-01 03:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C++中用两个标准容器stack,实现一个队列的方法详解
代码如下所示:
[u]复制代码[/u] 代码如下:
// StackToQueue.cpp : 定义控制台应用程序的入口点。 //用两个标准容器stack,实现一个队列 #include "stdafx.h" #include <iostream> #include <stack> using namespace std; template <class T> class StackToQueue { public:  StackToQueue()  {   stack1;   stack2;  }  void push(T e)  {   while (!stack2.empty())   {    T temp;    temp = stack2.top();    stack2.pop();    stack1.push(temp);   }   stack2.push(e);   while (!stack1.empty())   {    T temp;    temp = stack1.top();    stack1.pop();    stack2.push(temp);   }  }  void pop()  {    stack2.pop();  }  T front()  {   if (!empty())   {    return stack2.top();   }   else   {    return NULL;   }  }  bool empty()  {   return stack2.empty();  }  size_t size()  {   return stack2.size();  } private:  stack<T> stack1, stack2; }; int _tmain(int argc, _TCHAR* argv[]) {  StackToQueue<int> queue;  int i(0);  cout << "Enter several integer number,and press ctrl+z to the end." << endl;  while (cin >> i)  {   queue.push(i);  }  cout << "The front element is: " << queue.front() << endl;  cout << "The size now is: " << queue.size() << endl;  if (!queue.empty())  {   cout << "Pop one element now." << endl;   queue.pop();  }  cout << "The front element is: " << queue.front() << endl;  cout << "The size now is: " << queue.size() << endl;  return 0; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部