連結串列實現佇列(java實現)
阿新 • • 發佈:2019-02-08
package shuju_arguments; /** * * 使用連結串列資料結構來實現佇列 * **/ public class queue { //對頭指標 private node<Integer> first; //隊尾指標 private node<Integer> last; //佇列元素的數量 private int num; //隊頭出元素 public int pop(){ node<Integer> oldNode = first; first = oldNode.nest; int nums = oldNode.items; oldNode = null; num--; return nums; } //隊尾新增元素 public void add(Integer items){ node<Integer> oldNode = last; node<Integer> newNode = new node<>(); last = newNode; //判斷佇列中是否一個元素都沒有,if判斷語句是為了防止 //對內沒有元素而引發的空指標異常 if(first == null){ first = last; }else{ oldNode.nest = newNode; } newNode.items = items; newNode.nest = null; num++; } //遍歷佇列中的元素 public void iterator(){ for(node node = first;node != null;node = node.nest){ System.out.println(node.items); } } public static void main(String[] args) { queue queue = new queue(); System.out.println("入隊"); queue.add(1); queue.add(2); queue.add(3); queue.add(4); queue.iterator(); System.out.println("出隊後佇列中剩餘:"); queue.pop(); queue.pop(); queue.pop(); queue.iterator(); } }