zoukankan      html  css  js  c++  java
  • 队列

    #include<iostream.h>
    class que
    {
    private:
    	char *ch;
    	int maxsize;
    	int count;
    	int rear,front;
    public:
    	que(int size)
    	{
    		maxsize=size;
    		ch=new char[maxsize];
    		count=0;
    		rear=0;
    		front=0;
    	}
    	~que()
    	{delete []ch;}
    	void input()
    	{
            char ch1;
    		int n;
    		
    		while(1)
    		{
                cout<<"请输入元素"<<endl;
    	         	cin>>ch1;
    			if(count==maxsize)
    			{ cout<<"队列已满无法入列"<<endl;break;}
    	        else
    			{
    				ch[rear]=ch1;
    				rear=(++rear)%maxsize;
    				count++;	 
    			}
                cout<<"如果还想继续输入,请按1,否则按-1"<<endl;
                cin>>n;
    		    if(n==-1)break;
    		}
    	}
    	void output()
    	{
                 int m;
    		while(1)
    		{
    			if(count==0)
    			{cout<<"队列为空"<<endl;break;}
    		    else
    			{cout<<ch[front]<<endl;}
    			front=(++front)%maxsize;
    			count--;
    			cout<<"如果继续输出请按1,否则按-1"<<endl;
                cin>>m;
    			if(m==-1)break;
    		}
    	}
    	int length()
    	{
    		return count;
    	}
    };
    void main()
    {
    	cout<<"请输入队列的最大容量"<<endl;
    	int size;
    	cin>>size;
    	que qu(size);
         qu.input();
    	cout<<"队列长度为"<<qu.length()<<endl;
    	cout<<"输出队列中的第一个元素为"<<endl;
    	 qu.output();
    	 qu.input();
    	 cout<<"队列长度为"<<qu.length()<<endl;
    	 cout<<"队列中的元素为"<<endl;
    	 qu.output();
    
    }
    

  • 相关阅读:
    第21周六
    第21周五
    第21周四
    第21周三
    C/C++中各种类型int、long、double、char表示范围(最大最小值)
    插入排序
    面向对象的5个基本设计原则
    红黑树
    Cocos2d-x学习笔记(六) 定时器Schedule的简单应用
    SNMP协议具体解释
  • 原文地址:https://www.cnblogs.com/zztong/p/6695309.html
Copyright © 2011-2022 走看看