计蒜客 数据结构 Queue

//数据结构--C++--队列
//队列的定义、插入、删除
#include <iostream>
using namespace std;
class  Queue{
    private:
        int* data;
        int head, tail, length;
    public:
        Queue(int length_input){
            //开辟length_input长度的空间
            data = new int[length_input];
            length = length_input;
            //队首标记head
            head = 0;
            //队尾标记tail
            tail = -1;
        }
    //Queue的析构函数,不同于上面的构造函数】
        ~Queue(){
            //释放空间
            delete [] data;
        }
         //队列的插入函数
    void push(int element){
        //查看插入位置是否超出队列长度
        if(tail + 1 < length){
            tail = tail + 1;
            //将元素添加到队尾
            data[tail] = element;
        }
    }
     //队列的输出函数
    void output(){
        for(int i = head; i <= tail; i++){
            cout<<data[i]<<" ";
        }
        cout<<endl;
    }
     //输出队首元素函数
    int front(){
        //用assert判断队列是否为空,记得头文件加上#include <cassert>
        assert(head <= tail);
        return data[head];
    }
    //出队函数
    void pop(){
        assert(head <= tail);
        //把head标记往后移一位就表示删除队首元素
        head ++;
    }
};
int main() {
    //Queue的实例queue,长度为100。
    Queue queue(100);
    //依次将数据插入队列
    for(int i = 1; i<=10;i++){
        queue.push(i);
    }
    queue.output();
    //输出队首元素
    cout<<queue.front()<<endl;
    queue.pop();
    queue.output();
    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值