1.概念
佇列是一種先進先出(FIFO)的線性結構,
2.關于佇列的相關名詞
- 隊頭:進行洗掉資料的端
- 隊尾:進行添加資料的端
- 入列:添加資料
- 出列:取出資料
- 空佇列:沒有存盤資料
3.作業原理
佇列使用了兩個指標,一個指向隊頭,負責對資料進行洗掉操作;一個指向隊尾,負責對資料進行添加操作,最好理解的例子就是去排隊,比如去食堂打飯,先來的肯定先排在最前面,當打完飯他就得離開這條隊伍,即出列;然后他后面的人就繼續走上去打飯,而后來的人需要從這條隊伍的尾部排起,即入列,別跟我扯你能插隊,
4.Java中使用佇列
java有提供Queue,最符合普通的佇列是它的一個實作類:linkedList,你沒看錯,就是它,它是一個雙向鏈表實作的,所以使用好方法即可做為堆疊,也可以作為佇列來使用,
5.代碼
import java.util.LinkedList; import java.util.Queue; public class TestQueen { public static void test1() { LinkedList<Integer> queue = new LinkedList<Integer>(); // 入列,添加到隊尾 queue.add(1); queue.add(2); queue.add(3); queue.add(4); // 使用add或者offer都可以,兩者有一個區別,如果當佇列滿列了,使用add添加資料則會拋出例外,使用offer會回傳false queue.offer(5); while(!queue.isEmpty()) { // 出列,洗掉隊頭的資料 System.out.print(queue.poll() + " "); } System.out.println(); } public static void main(String[] args) { test1(); } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/110931.html
標籤:其他
上一篇:堆疊
下一篇:遞回演算法總結
