package shuju_arguments;
/**
*
* 使用链表数据结构来实现队列
* **/
public class queue {
//对头指针
private node<Integer> first;
//队尾指针
private node<Integer> last;
//队列元素的数量
private int num;
//队头出元素
public int pop(){
node<Integer> oldNode = first;
first = oldNode.nest;
int nums = oldNode.items;
oldNode = null;
num--;
return nums;
}
//队尾添加元素
public void add(Integer items){
node<Integer> oldNode = last;
node<Integer> newNode = new node<>();
last = newNode;
//判断队列中是否一个元素都没有,if判断语句是为了防止
//对内没有元素而引发的空指针异常
if(first == null){
first = last;
}else{
oldNode.nest = newNode;
}
newNode.items = items;
newNode.nest = null;
num++;
}
//遍历队列中的元素
public void iterator(){
for(node node = first;node != null;node = node.nest){
System.out.println(node.items);
}
}
public static void main(String[] args) {
queue queue = new queue();
System.out.println("入队");
queue.add(1);
queue.add(2);
queue.add(3);
queue.add(4);
queue.iterator();
System.out.println("出队后队列中剩余:");
queue.pop();
queue.pop();
queue.pop();
queue.iterator();
}
}
链表实现队列(java实现)
最新推荐文章于 2024-06-11 18:17:33 发布