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;
      }
    }

     

     
  • 相关阅读:
    Js获取或计算时间的相关操作
    SqlServer删除表中重复的记录并保留一条
    获取js文件后的参数
    谷歌浏览器官方下载地址
    ionic项目中实现发短信和打电话
    ui-router传递参数
    ng-options用法详解
    html5 localStorage(本地存储)
    cordova插件之Local Notification(本地通知)
    AngularJS $http service
  • 原文地址:https://www.cnblogs.com/z-jx/p/11581640.html
Copyright © 2011-2022 走看看