/* 配列によるキューの実現例).エラー処理は省略.*/ class Queue { int[] queue; // キューを実現する配列 int head; // キューの先頭を示すインデックス int tail; // キューの最後を示すインデックス int size; // キュー内のサイズ Queue (int size) { queue = new int[size]; // 配列を生成 head = tail = 0; this.size = size; } void enqueue (int data) { queue[tail] = data; // キューの最後にデータを格納 tail = (tail+1) % size; // 最後まで行ったら次は先頭へ } int dequeue () { int old_head = head; head = (head+1) % size; return queue[old_head]; } public static void main (String[] args) { Queue q = new Queue(100); // 大きさ100のキューを生成 q.enqueue(10); // 10をエンキュー q.enqueue(20); // 20をエンキュー System.out.println(q.dequeue()+", "+q.dequeue()); //10, 20 } }