LinkedList集合應用:實作佇列
題目:
使用LinkedList類實作一個Queue(佇列)類,Queue類應該具有以下功能:
-
void enqueue(E element):將給定的元素添加到佇列的末尾,
-
E dequeue():洗掉并回傳佇列的第一個元素,如果佇列為空,則拋出NoSuchElementException例外,
-
E peek():回傳佇列的第一個元素,如果佇列為空,則拋出NoSuchElementException例外,
-
int size():回傳佇列中的元素數量,
- boolean isEmpty():如果佇列為空,則回傳true,否則回傳false,
class Queue<E> { // 使用LinkedList實作佇列 private LinkedList<E> list; public Queue() { // 初始化佇列 list = new LinkedList<>(); } public void enqueue(E element) { // 將給定的元素添加到佇列的末尾 list.addLast(element); } public E dequeue() { // 洗掉并回傳佇列的第一個元素 // 如果佇列為空,則拋出NoSuchElementException例外 if (list.isEmpty()) { throw new NoSuchElementException(); }else { return list.remove(0); } } public E peek() { // 回傳佇列的第一個元素 // 如果佇列為空,則拋出NoSuchElementException例外 if (list.isEmpty()) { throw new NoSuchElementException(); }else { return list.getFirst(); } } public int size() { // 回傳佇列中的元素數量 return list.size(); } public boolean isEmpty() { // 如果佇列為空,則回傳true,否則回傳false if (list.size()==0) { return true; }else { return false; } } }
添加測驗類:
public class Task { public static void main(String[] args) { Queue<Integer> queue = new Queue<>(); // 加入佇列 queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); // 出隊 System.out.println(queue.dequeue()); // 查看隊首元素 System.out.println(queue.peek()); // 查看佇列大小 System.out.println(queue.size()); System.out.println(queue.isEmpty()); } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/545628.html
標籤:其他
