Java实现队列及其操作

Java实现队列及其操作

队列具有先进先出的特点,从生活中的排队问题抽象而来。

一般被限定在一端进行插入,在另一端进行服务后出队。

实现队列的过程类似于栈

先定义队列结点quenode类 包含赋值和打印操作

再定义 队列类 将quenode装在arraylist中 再实现遍历、入队、出队等的操作。

import java.util.ArrayList;

//队列的定义和基本操作
class quenode{
	
	int val;
    quenode(int val)
    {
    	
    	this.val=val;
    }
   void print()
   {
	   System.out.print(val+"->");
   }
}
public class queue {

	
	private int top=0;
	private final int Max_Size=100;
	ArrayList<quenode> quelist=new ArrayList<quenode>();
	
	void push(quenode qn)
	{
		
		if(top<Max_Size)
		{
			quelist.add(qn);
			top++;
		}
		else
		{
			System.err.println("Push Error! No More Space!");
		}
		
	}
	
	quenode pop()
	{
		if(top>0)
		{
			quenode temp=quelist.get(0);
			quelist.remove(0);
			top--;
			return temp;
		}
		else
		{
			return null;
		}
		
	}
	
	void traverse()
	{
		for(int i=0;i<top;i++)
		{
			System.out.print(quelist.get(i).val+"<-");
			
		}
		System.out.println("//Ending");
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//new一个队列
		queue q=new queue();
		
		//入队操作
		for(int i=0;i<5;i++)
		{
			q.push(new quenode(i));
		}
		
		//依次遍历队列
		q.traverse();
		
		//队头元素出队
		quenode qn=q.pop();
		System.out.println(qn.val);
		
		System.out.println(q.pop().val);
		
	}

}
发布了52 篇原创文章 · 获赞 27 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_37457432/article/details/104147409