leetcode刷题:循环队列

题目:
leetcode刷题:循环队列_第1张图片
分析:
这里使用数组进行模拟循环队列插入和删除数据的过程;
使用头指针head和尾指针tail进行维护还存有的一段的连续数据;
记录当前存有的数据的个数来判断是否填满队列;

代码如下:

class MyCircularQueue {
private:
    int cur;
    int maxi;
    int head;
    int tail;
    vectorcirculque;
public:

    MyCircularQueue(int k) {
        circulque=vector(k);
        head=0;
        tail=0;
        maxi=k;
        cur=0;
    }
    
    bool enQueue(int value) {
        if(isFull()){
            return false;
        }
        circulque[tail]=value;
        cur++;
        tail=(tail==maxi-1)?0:tail+1;
        return true;
    }
    
    bool deQueue() {
        if(isEmpty()){
            return false;
  

你可能感兴趣的:(leetcode刷题,leetcode,链表,算法)