大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Java中隊(duì)列結(jié)構(gòu)是這樣實(shí)現(xiàn)的

Java中隊(duì)列結(jié)構(gòu)是這樣實(shí)現(xiàn)的

更新時(shí)間:2021-11-01 10:44:30 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1311次

隊(duì)列是編程中一種有用的數(shù)據(jù)結(jié)構(gòu)。類似于電影院外的售票隊(duì)列,第一個(gè)進(jìn)入隊(duì)列的人就是第一個(gè)拿到票的人。

Java隊(duì)列遵循先進(jìn)先出 (FIFO)規(guī)則 - 先進(jìn)入的項(xiàng)目是先出的項(xiàng)目。

在上圖中,由于 1 在 2 之前保留在隊(duì)列中,因此它也是第一個(gè)從隊(duì)列中刪除的。它遵循先進(jìn)先出規(guī)則。

在編程術(shù)語(yǔ)中,將項(xiàng)目放入隊(duì)列稱為enqueue,從隊(duì)列中移除項(xiàng)目稱為dequeue。

我們可以使用任何編程語(yǔ)言(如 C、C++、Java、Python 或 C#)實(shí)現(xiàn)隊(duì)列,但規(guī)范幾乎相同。

隊(duì)列的基本操作

隊(duì)列是一個(gè)對(duì)象(一種抽象數(shù)據(jù)結(jié)構(gòu) - ADT),它允許以下操作:

Enqueue : 向隊(duì)列末尾添加一個(gè)元素

Dequeue : 從隊(duì)列前面移除一個(gè)元素

IsEmpty : 檢查隊(duì)列是否為空

IsFull : 檢查隊(duì)列是否已滿

Peek:獲取隊(duì)列前端的值而不移除它

隊(duì)列的工作

隊(duì)列操作的工作方式如下:

兩個(gè)指針和跟蹤隊(duì)列的第一個(gè)元素

跟蹤隊(duì)列的最后一個(gè)元素

最初,設(shè)置值和-1

入隊(duì)操作

檢查隊(duì)列是否已滿

對(duì)于第一個(gè)元素,設(shè)置值到 0

增加索引 1

在指向的位置添加新元素 

出隊(duì)操作

檢查隊(duì)列是否為空

返回指向的值增加索引 1

對(duì)于最后一個(gè)元素,重置值和-1

我們通常使用數(shù)組來(lái)實(shí)現(xiàn) Java 和 C/++ 中的隊(duì)列。對(duì)于 Python,我們使用列表。

// Queue implementation in Java
public class Queue {
  int SIZE = 5;
  int items[] = new int[SIZE];
  int front, rear;
  Queue() {
    front = -1;
    rear = -1;
  }
  boolean isFull() {
    if (front == 0 && rear == SIZE - 1) {
      return true;
    }
    return false;
  }
  boolean isEmpty() {
    if (front == -1)
      return true;
    else
      return false;
  }
  void enQueue(int element) {
    if (isFull()) {
      System.out.println("Queue is full");
    } else {
      if (front == -1)
        front = 0;
      rear++;
      items[rear] = element;
      System.out.println("Inserted " + element);
    }
  }
  int deQueue() {
    int element;
    if (isEmpty()) {
      System.out.println("Queue is empty");
      return (-1);
    } else {
      element = items[front];
      if (front >= rear) {
        front = -1;
        rear = -1;
      } /* Q has only one element, so we reset the queue after deleting it. */
      else {
        front++;
      }
      System.out.println("Deleted -> " + element);
      return (element);
    }
  }

  void display() {
    /* Function to display elements of Queue */
    int i;
    if (isEmpty()) {
      System.out.println("Empty Queue");
    } else {
      System.out.println("\nFront index-> " + front);
      System.out.println("Items -> ");
      for (i = front; i <= rear; i++)
        System.out.print(items[i] + "  ");

      System.out.println("\nRear index-> " + rear);
    }
  }

  public static void main(String[] args) {
    Queue q = new Queue();

    // deQueue is not possible on empty queue
    q.deQueue();

    // enQueue 5 elements
    q.enQueue(1);
    q.enQueue(2);
    q.enQueue(3);
    q.enQueue(4);
    q.enQueue(5);

    // 6th element can't be added to because the queue is full
    q.enQueue(6);

    q.display();

    // deQueue removes element entered first i.e. 1
    q.deQueue();

    // Now we have just 4 elements
    q.display();

  }
}

復(fù)雜性分析

使用數(shù)組的隊(duì)列中入隊(duì)和出隊(duì)操作的復(fù)雜度為O(1)。如果您pop(N)在 python 代碼中使用,那么復(fù)雜性可能O(n)取決于要彈出的項(xiàng)目的位置。

隊(duì)列的應(yīng)用

CPU調(diào)度、磁盤調(diào)度

當(dāng)兩個(gè)進(jìn)程之間異步傳輸數(shù)據(jù)時(shí),隊(duì)列用于同步。例如:IO Buffers、管道、文件IO等

處理實(shí)時(shí)系統(tǒng)中的中斷。

呼叫中心電話系統(tǒng)使用隊(duì)列將呼叫他們的人按順序排列。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日本高清视频一区二区 | 天天干夜夜操 | 久久99精品亚洲热综合 | 国产亚洲精品一区二区 | 日韩精品成人免费观看 | 香蕉黄视频 | se999se男人最爱 | 国产日韩欧美在线一区二区三区 | 六月丁香婷婷综合 | 奇米影视第四色在线观看 | 精品影视 | 欧美啪啪小视频 | 亚洲综合区 | 99热成人精品国产免男男 | 手机看片福利永久国产日韩 | 国产成人禁片免费观看 | 美女视频很黄很暴黄是免费的 | 日本b站一卡二不卡 | 欧美在线日韩在线 | 亚洲视频免费在线看 | 国产在线精品一区二区三区 | 国产亚洲欧美另类久久久 | 日韩中文欧美 | 一级a美女毛片 | 久久免费精品视频 | a级毛片免费完整视频 | 一区二区精品视频 | 午夜91视频 | 国产a国产 | 精品国产一区二区三区免费 | 中文字幕亚洲一区 | 香蕉成人国产精品免费看网站 | 在线视频这里只有精品 | 免看一级一片一在线看 | 99福利在线 | 精品综合在线 | 欧美日韩在线观看视频 | 免费在线成人网 | 在线国产一区 | 国产午夜精品久久久久九九 | 国产精品品福利视频 |