题解 | #【模板】循环队列#

【模板】循环队列

http://www.nowcoder.com/practice/0a3a216e50004d8bb5da43ad38bcfcbf

#include<iostream>
#include<string>
using namespace std;
class Dequeue{
    private:
        int *data;
        int rear,Front;
        int count,size;
    public:
        Dequeue(int capacity);
        ~Dequeue();
        void push(int e);
        void front();
        void pop();
        bool isEmpty();
        bool isFull();
};
Dequeue::Dequeue(int capacity){
    data=new int[capacity];
    size=capacity;
    count=0;
    Front=rear=0;
}
Dequeue::~Dequeue(){
    delete[] data;
}
void Dequeue::push(int e){
    if(isFull()){
        cout<<"full"<<endl;
        return;
    }
    data[rear]=e;
    rear=(rear+1)%size;
    count++;
}
void Dequeue::front(){
    if(isEmpty()){
        cout<<"empty"<<endl;
        return;
    }
    cout<<data[Front]<<endl;
}
void Dequeue::pop(){
    if(isEmpty()){
        cout<<"empty"<<endl;
        return;
    }
    cout<<data[Front]<<endl;
    count--;
    Front=(Front+1)%size;
}
bool Dequeue::isFull(){
    return count==size;
}
bool Dequeue::isEmpty(){
    return count==0;
}
int main()
{
    int n,q,x;
    cin>>n>>q;
    Dequeue m(n);
    string t;
    for(int i=0;i<q;i++){
        cin>>t;
        if(t=="push"){
            cin>>x;
            m.push(x);
        }
        else if(t=="front"){
            m.front();
        }
        else if(t=="pop"){
            m.pop();
        }
    }
}
全部评论

相关推荐

专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务