【队列】队列的基本操作总结

目录

queue的常见用法

priority_queue的常见用法


队列是一种先进先出的数据结构,通常用一个队首元素front指向队首元素的前一个位置,而使用队尾指针来指向队尾元素。

  1. 清空(clear):
    /*使用数组来实现队列是,初始状态为front=-1,rear=-1*/
    
    void clear(){
        front=rear=-1;
    }

     

  2. 获得队列中的元素个数(size):
    /*rear-front是队列内元素的个数*/
    
    int size(){
        return rear-front;
    }

     

  3. 判空(empty):
    /*若rear等于front,则队列为空*/
    
    bool empty(){
        if(front==rear) return true;
        else return false;
    }

     

  4. 入队(push):
    /*入队,由于指针rear指向队尾元素,因此把元素入队时,需要先把rear+1,在存放到rear指向的位置*/
    
    void push(int x){
        q[++rear]=x;
    }

     

  5. 出队(pop):
    /*直接把队首指针加1来实现出队效果*/
    
    void pop(){
        front++;
    }
    

     

  6. 取队首元素(get_front):
    /*由于队首指针front指向的队首元素的前一个元素,因此front+1才是队首元素的位置*/
    int get_front(){
        return q[front+1];
    }

     

  7. 取队尾元素(get_rear):
    /*由于队尾指针rear指向的队尾元素,因此直接访问rear是队尾元素的位置*/
    int get_rear(){
        return q[rear];
    }

STL容器中的queue和priority queue的实现方式:

栈、队列的STL实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_之桐_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值