zoukankan      html  css  js  c++  java
  • 队列

    队列同栈一样,也是一种特殊的线性表。主要特性是先进先出。

    主要函数包括:入列、出列、清空等

    主要代码如下:

    //测试队列的数据结构
    #include <iostream>
    using namespace std;
    
    template <class T>
    class squeuenode
    {
    public:
    	squeuenode(){next=NULL;}
    	T data;
    	squeuenode<T> *next;
    };
    
    template <class T>
    class Myqueue
    {
    public:
    	unsigned int squeuelength;
    	squeuenode <T>*node;
    	squeuenode <T>*rear;
    	squeuenode <T>*front;
    public:
    	Myqueue();
    	unsigned int length();
    	void push(T x);
    	bool isempty();
    	void pop();
    	T getHead();
    };
    
    template <class T>
    Myqueue<T>::Myqueue()
    {
    	squeuelength=0;
    	rear=NULL;
    	front=NULL;
    	node=NULL;
    }
    
    template <class T>
    unsigned int Myqueue<T>::length()
    {
    	return squeuelength;
    }
    
    //添加
    template <class T>
    void Myqueue<T>::push(T x)
    {	
    	node=new squeuenode<T>();
    	node->data=x;
    	node->next=NULL;
    	if (front==NULL)
    	{
    		front=node;
    		rear=front;
    	}
    	else
    	{
    		rear->next=node;
    		rear=node;
    	}
    	squeuelength++;
    }
    
    template <class T>
    bool Myqueue<T>:: isempty()
    {
    	if (0==squeuelength)
    	{
    		return true;
    	}
    	else
    		return false;
    }
    
    template <class T>
    void Myqueue<T>::pop()
    {
    	if (squeuelength==0)
    	{
    		return;
    	}
    	if (front==rear)
    	{
    		node=front;
    		front=rear=NULL;
    		delete(node);
    		node=NULL;
    	}
    	else
    	{
    		node=front;
    		front=node->next;
    		delete(node);
    		node=NULL;
    	}
    	squeuelength--;
    }
    
    template <class T>
    T Myqueue<T>::getHead()
    {
    	if (squeuelength==0)
    	{
    		cout<<"现在没有任何数据"<<endl;
    		 exit(0);
    	}
    	T x;
    	x=front->data;
    	return x;
    }
    

      

  • 相关阅读:
    Python打包之pyinstaller
    Python关于Pyqt
    Python撰写mail
    后台管理左侧菜单
    全选反选以及取消
    模态对话框
    Spark2.3.1版本全分布模式的安装与部署
    Kafka消息格式及多版本支持
    2019-11-18-plot作图
    剑指Offer-知识迁移能力53-59
  • 原文地址:https://www.cnblogs.com/lanye/p/3240409.html
Copyright © 2011-2022 走看看