#pragma once
#include <iostream>
#include <iomanip>

using namespace std;

template<class T>
class Queue
{
  struct Node
  {
    T a;
    Node *next;
  };

public:
  Queue();
  void push(T b);
  void pop();
  int getlength();
  virtual void print();

  private:
  Node *head;
  Node *rear;
};

template<class T>
void Queue<T>::push(T b)
{
  Node *p1 = new Node;
  p1->a = b;
  p1->next = NULL;
  rear->next = p1;
  rear = p1;
  head->a++;
  cout << setw(2) << b << setw(2) << "进入队列" << endl;
}

template<class T>
void Queue<T>::pop()
{
  Node *p;
  p = head->next;
  cout << " " << setw(2) << p->a << setw(2) << "出队" << endl;
  head->next = p->next;
  delete p;
  head->a--;
}

template<class T>
int Queue<T>::getlength()
{
  return head->a;
}

template<class T>
void Queue<T>::print()
{
  Node *p;
  p = head->next;
  cout << "队列中的元素" << endl;
  while (p)
  {
    cout << p->a << "->";
    p = p->next;
  }
  cout << "NULL" << endl;
}

template<class T>
Queue<T>::Queue()
{
  rear = head = new Node();
}

c++ template Queue的更多相关文章

  1. c++ freelockquque

    http://www.boost.org/doc/libs/1_56_0/doc/html/boost/lockfree/queue.html Class template queue boost:: ...

  2. SpringBoot2.1.0 application.properties配置

    # =================================================================== # COMMON SPRING BOOT PROPERTIE ...

  3. 【spring boot】application.properties官方完整文档

    官方地址: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ 进入搜索: Appendice ...

  4. C++ std::queue

    std::queue template <class T, class Container = deque<T> > class queue; FIFO queue queue ...

  5. [ACM训练] 算法初级 之 数据结构 之 栈stack+队列queue (基础+进阶+POJ 1338+2442+1442)

    再次面对像栈和队列这样的相当基础的数据结构的学习,应该从多个方面,多维度去学习. 首先,这两个数据结构都是比较常用的,在标准库中都有对应的结构能够直接使用,所以第一个阶段应该是先学习直接来使用,下一个 ...

  6. [C++][数据结构]队列(queue)的实现

    对于队列的定义,前人之述备矣. 队列的实现方法与栈非常相似.我直接在我实现的那个栈的代码上加了一点东西,全局替换了一些标识符,就实现了这个队列. 我实现的是一个queue<value>容器 ...

  7. STL容器适配器 stack, queue

    stack是一种后进先出(last in first out)的数据结构.它只有一个出口,如图所示.stack允许新增元素,删除元素,取得最顶端元素.但除了最顶端外,没有其他任何地方可以存储stack ...

  8. member template

    1.当且仅当类模板的参数相同时,你才能对类实体对象相互赋值,即将一个实体对象整体赋值给另外一个实体对象.不能将一种类型的实体对象赋值给另外一种实体对象.如: Stack<int> intS ...

  9. [c++] STL = Standard Template Library

    How many people give up, because of YOU. Continue... 先实践,最后需要总结. 1. 数据流中的数据按照一定的格式<T>提取 ------ ...

随机推荐

  1. Ubuntu系统---C++之Eclipse IDE 编译器安装

    Ubuntu系统---C++之Eclipse IDE 编译器安装 Eclipse是一个基于Java的.开放源码的.可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(Integrate ...

  2. python的类和对象(1)

    类和对象 现在这年头,怎么哪里都有对象?街上看了一路手拉手,回来学习还要看到"对象". 是不是学会了对象,就有对象了? 1.定义: 百度解释: 对象是对客观事物的抽象,类是对对象的 ...

  3. Python3+Appium学习笔记07-元素定位工具UI Automator Viewer

    这篇主要说下如何使用UI Automator Viewer这个工具来定位元素.这个工具是sdk自带的.在sdk安装目录Tools目录下找到uiautomatorviewer.bat并启动它 ​ 如果启 ...

  4. BZOJ 2229 / Luogu P3329 [ZJOI2011]最小割 (分治最小割板题)

    题面 求所有点对的最小割中<=c的数量 分析 分治最小割板题 首先,注意这样一个事实:如果(X,Y)是某个s1-t1最小割,(Z,W)是某个s2-t2最小割,那么X∩Z.X∩W.Y∩Z.Y∩W这 ...

  5. 012_STM32程序移植之_内部flash开机次数管理lib库建立

    012_STM32程序移植之_内部flash开机次数管理lib库建立 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH ...

  6. sql 临时表的使用详解

    Sqlserver数据库中的临时表详解   临时表在Sqlserver数据库中,是非常重要的,下面就详细介绍SQL数据库中临时表的特点及其使用,仅供参考.   临时表与永久表相似,但临时表存储在tem ...

  7. 五十四.自定义镜像及仓库、持久化存储 、 Docker网络架构

    1. 制作自定义镜像(base基础镜像,搭建共性环境) 基于centos镜像使用commit创建新的镜像文件 基于centos镜像使用Dockerfile文件创建一个新的镜像文件   1.1 使用镜像 ...

  8. 重新梳理一下adb操作app(golang版)

    主要参考我之前整理的内容https://www.cnblogs.com/pu369/p/10490668.html,梳理简化一下思路,以便于用最简单的代码来应对无聊人士的要求. 需求主要是:打开手机. ...

  9. web文件夹上传

    需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...

  10. C语言学习笔记9-指针

    1.指针基础 NULL为预处理器变量,是从C继承下来的,该变量在cstdlib头文件中定义 2.指针函数与函数指针 3.指针数组与数组指针 4.