学习java数据结构基础知识之队列

队列是先进先出。
利用java语言实现队列代码:
/*
 * 队列
 */
public class Queue {
	private int maxSize;          //最大队列
	private long[] queArray;      //队列数组
	private int front;            //队头
	private int rear;             //队尾
	private int nItems;           //当前队列元素个数
	
	//构造函数
	public Queue(int s) {
		super();
		this.maxSize = s;
		this.queArray = new long[maxSize];
		this.front = 0;
		this.rear = -1;
		this.nItems = 0;
	}
	//插入元素
	public void insert(long j){
		if(rear ==(maxSize-1)){
			rear =-1;
		}
			queArray[++rear] =j;
			nItems++;
	}
	//删除元素
	public long remove(){
		long temp =queArray[front++];
		if (front ==maxSize) {
			front =0;
		}
		nItems--;
		return temp;
	}
	//队列头
	public long peekFront() {
		return queArray[front];
	}
	//队列是否为空
	public boolean isEmpty(){
		return (nItems ==0);
	}
	//队列是否满了
	public boolean isFull() {
		return(nItems==maxSize);
	}
	//队列长度
	public int size() {
		return nItems;
	}

}
<pre name="code" class="java">public class QueueApp {

	public static void main (String[] arg) {
		Queue theQueue =new Queue(5);
		
		theQueue.insert(10);
		theQueue.insert(20);
		theQueue.insert(30);
		theQueue.insert(40);
		
		theQueue.remove();
		theQueue.remove();
		theQueue.remove();
		
		theQueue.insert(50);
		theQueue.insert(60);
		theQueue.insert(70);
		theQueue.insert(80);
		
		while (!theQueue.isEmpty()) {
			long n = theQueue.remove();
			System.out.print(n);
			System.out.print("  ");		
		}
		System.out.print(" ");
	}
}




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。