队列基本操作

描述

输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下:

1、[10,99]之间的整数:将该整数入队。

2、-1: 队首整数出队。

3、-2: 显示队列所有整数。

4、-3: 输入结束。

说明:采用链队列实现,必须有队列初始化函数、入队函数、出队函数。

 

输入

第一行若干整数(必须满足上述四种类型要求),以-3结束。

 

输出

输出队列中所有整数。

 

样例输入

13 25 90 -1 12 -2 -1 45 78 30 -2 -3

样例输出

25 90 12
90 12 45 78 30

 

代码:

#include<bits/stdc++.h>
using namespace std;

struct Node
{
    int data;
    Node *next;
};

class LinkQueue
{
    public:
    LinkQueue();
    void EnQueue(int x);
    void DeQueue();
    void show();
    private:
    Node *front,*rear;
};


LinkQueue::LinkQueue()
{
    Node*s=NULL;
    s=new Node;
    s->next=NULL;
    front=rear=s;

}


void LinkQueue::EnQueue(int x)
{
    Node *s=NULL;
    s=new Node;
    s->data=x;
    s->next=NULL;
    rear->next=s;
    rear=s;
}


void LinkQueue::DeQueue()
{
    int x;
    Node *p=NULL;
    p=front->next;
    x=p->data;
    front->next=p->next;
    if(p->next==NULL)
       rear=front;
    delete p;
}



void LinkQueue::show()
{
    Node *p=front->next;
    while(p!=NULL)
    {
        cout<<p->data<<" ";
        p=p->next;
    }
    cout<<endl;
}
int main()
{
    int n;
    LinkQueue Q;
    while(cin>>n&&n!=-3)
    {
        if(n>=10&&n<=99)
           Q.EnQueue(n);
        else if(n==-1)
           Q.DeQueue();
        else if(n==-2)
           Q.show();

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值