如何在 Java 中使用佇列實現棧?


堆疊Vector 類的一個子類,它表示物件的後進先出 (LIFO) 堆疊。在堆疊頂部新增的最後一個元素 (In) 可能是從堆疊中移除的第一個元素 (Out)。

佇列類擴充套件了集合介面,它支援使用插入移除操作,採用先進先出 (FIFO)。我們還可以在以下程式中使用佇列實現棧。

示例

import java.util.*;
public class StackFromQueueTest {
   Queue queue = new LinkedList();
   public void push(int value) {
      int queueSize = queue.size();
      queue.add(value);
      for (int i = 0; i < queueSize; i++) {
         queue.add(queue.remove());
      }
   }
   public void pop() {
      System.out.println("An element removed from a stack is: " + queue.remove());
   }
   public static void main(String[] args) {
      StackFromQueueTest test = new StackFromQueueTest();
      test.push(10);
      test.push(20);
      test.push(30);
      test.push(40);
      System.out.println(test.queue);
      test.pop();
      System.out.println(test.queue);
   }
}

輸出

[40, 30, 20, 10]
An element removed from a stack is: 40
[30, 20, 10]

更新於: 2020 年 2 月 11 日

1K+ 瀏覽量

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.