class Queue { public Node first; public Node last ; public int size = 0 ; public boolean isEmpty() { return(first == null&&last == null); } public void append(Node node) //入队列 { if (isEmpty()) { last = node ; //队列为空的时候第一个结点都会被头结点和尾结点指引到 first = node; } else { last.next = node; //入队列是对尾部进行操作 last = node; } size++; } public Node get()//出队列 { Node temp = first; //出队列是对头结点进行操作 first = first.next; size--; return temp; } public void clear(){ //清除队列 first = null; last = null; size = 0; } } class Node { public Node next; public int pos ; }