zoukankan      html  css  js  c++  java
  • c++ template Queue

    #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();
    }

  • 相关阅读:
    ui、li模拟下拉框
    六项精进
    Echarts柱状图添加点击事件
    [UWP]爱恋动漫BT开发小记
    [杂谈]这个四月
    [uwp]自定义图形裁切控件
    [uwp]自定义Behavior之随意拖动
    [uwp]数据绑定再学习
    [mvc]记一次“项目”的历程
    [uwp]ImageSource和byte[]相互转换
  • 原文地址:https://www.cnblogs.com/herd/p/10969870.html
Copyright © 2011-2022 走看看