C++中关于用两个stack实现一个队列的代码内容

来源:爱站网时间:2021-06-02编辑:网友分享
C++语言中的栈stack,其实就是计算机科学中的一种数据结构,如果想要将C++中的两个栈实现一个队列该怎么做呢?下面将教大家如何在C++中使用两个标准容器stack来实现一个队列,并为大家分享详细的代码内容。

代码如下所示:

 

// StackToQueue.cpp : 定义控制台应用程序的入口点。
//用两个标准容器stack,实现一个队列
#include "stdafx.h"
#include
#include
using namespace std;
template
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 stack1, stack2;
};
int _tmain(int argc, _TCHAR* argv[])
{
 StackToQueue queue;
 int i(0);
 cout  while (cin >> i)
 {
  queue.push(i);
 }
 cout  cout  if (!queue.empty())
 {
  cout   queue.pop();
 }
 cout  cout  return 0;
}

以上就是爱站技术频道小编为你分享的C++中用两个标准容器stack实现一个队列的代码详解,如果有需要的朋友可以直接在文中复制使用。

上一篇:vs2010中应该怎么输出当前文件路径与源文件当前行号

下一篇:如何把两个链表非降序合并为一个有序链表

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载