zoukankan      html  css  js  c++  java
  • 队列

    
    

    队列:

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

     

    循环队列

    /**
    * 先进先出
    */
    class MyCircularQueue {

       private int[] data;
       private int size;
       private int head; //头指针
       private int tail; //尾指针

       public MyCircularQueue(int k) {
           this.data = new int[k];
           this.size = 0;
           this.head = -1;
           this.tail = -1;
      }

       public boolean enQueue(int value) {
           if (size == data.length){
               return false;
          }
           tail = (tail + 1)%data.length;
           if (size == 0){
               head = tail;
          }
           size ++;
           data[tail] = value;
           return true;
      }

       public boolean deQueue() {
           if (size == 0){
               return false;
          }
           head = (head + 1)%data.length;
           size --;
           return true;
      }

       public int Front() {
           if(size == 0){
               return -1;
          }
           return data[head];
      }

       public int Rear() {
           if(size == 0){
               return -1;
          }
           return data[tail];
      }

       public boolean isEmpty() {
           return size == 0;
      }

       public boolean isFull() {
           return size == data.length;
      }
    }

     

     
  • 相关阅读:
    day22 sys模块(☆☆☆)json & pickle模块(☆☆☆☆)
    day22 OS模块
    day21 time时间模块
    day21 if __name__==""__main__""的用法
    day21 模块
    day20 装饰器 (装饰器=高阶函数+函数嵌套+闭包)加上参数
    day19 生产者模型-next与send用法详解-生产者消费者模型
    day19 生成器函数的好处
    zzq's sort [思维题]
    三元组 [01Trie]
  • 原文地址:https://www.cnblogs.com/z-jx/p/11581640.html
Copyright © 2011-2022 走看看