대기 줄
큐는 테이블 앞쪽의 삭제 작업과 테이블 뒤쪽의 삽입 작업만 허용하는 특수한 종류의 선형 테이블입니다. 삽입 작업을 수행하는 끝을 큐의 끝이라고 하고 삭제 작업을 수행하는 끝을 큐의 머리라고 합니다. 대기열에 요소가 없을 때 이를 빈 대기열이라고 합니다. 큐의 데이터 구조에서 삽입된 첫 번째 요소가 첫 번째 삭제된 요소가 되며, 그렇지 않으면 마지막으로 삽입된 요소가 마지막으로 삭제된 요소가 되므로 큐를 "선입 선출"(FIFO—선입선출)이라고도 합니다. 첫 번째). out) 선형 테이블.
import java.util.LinkedList;
public class MyQueue
{
private LinkedList list = new LinkedList();
public void clear()//销毁队列
{
list.clear();
}
public boolean QueueEmpty()//判断队列是否为空
{
return list.isEmpty();
}
public void enQueue(Object o)//进队
{
list.addLast(o);
}
public Object deQueue()//出队
{
if(!list.isEmpty())
{
return list.removeFirst();
}
return "队列为空";
}
public int QueueLength()//获取队列长度
{
return list.size();
}
public Object QueuePeek()//查看队首元素
{
return list.getFirst();
}
public static void main(String[] args)//测试队列
{
MyQueue queue = new MyQueue();
System.out.println(queue.QueueEmpty());
queue.enQueue("a");
queue.enQueue("b");
queue.enQueue("c");
queue.enQueue("d");
queue.enQueue("e");
queue.enQueue("f");
System.out.println(queue.QueueLength());
System.out.println(queue.deQueue());
System.out.println(queue.deQueue());
System.out.println(queue.QueuePeek());
System.out.println(queue.deQueue());
queue.clear();
queue.enQueue("s");
queue.enQueue("t");
queue.enQueue("r");
System.out.println(queue.deQueue());
System.out.println(queue.QueueLength());
System.out.println(queue.QueuePeek());
System.out.println(queue.deQueue());
}
}
인쇄 결과는 다음과 같습니다.
참
6
a
b
c
c
s
2
t
t