データ構造 〜 第3章 スタックとキュー
スタックの実装。
package intro; public class Stack { Node top; Object pop(){ if(top != null){ Object item = top.data; top = top.next; return item; } return null; } void push(Object item){ Node t = new Node(item); t.next = top; top = t; } Object peek(){ return top.data; } }
キューの実装。
package intro; public class Queue { Node first, last; void enqueue(Object item){ if(first == null){ last = new Node(item); first = last; }else{ last.next = new Node(item); last = last.next; } } Object dequeue(){ if(first != null){ Object item = first.data; first = first.next; return item; } return null; } }
確認。
package intro; public class Test { public static void main(String[] args) { Stack stack = new Stack(); String str = "a"; stack.push(str); stack.push(str+"1"); stack.push(str+"2"); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(); Queue queue = new Queue(); queue.enqueue(str); queue.enqueue(str+"1"); queue.enqueue(str+"2"); System.out.println(queue.dequeue()); System.out.println(queue.dequeue()); System.out.println(queue.dequeue()); } }