首页 > 编程语言 > 详细

Java数据结构——队列

时间:2016-03-29 21:25:09      阅读:233      评论:0      收藏:0      [点我收藏+]

技术分享

//=================================================
// File Name       :	Queue_demo
//------------------------------------------------------------------------------
// Author          :	Common

//类名:Queue
//属性:
//方法:
class Queue{
	private int maxSize;					//队列的长度
	private long[] queueArray;		//创建队列的数组的引用
	private int front;							//创建队头的引用
	private int rear;						//创建队尾的引用
	private int curNum;					//创建当前元素的个数
	
	public Queue(int s) {					//构造函数
		this.maxSize = s;
		queueArray = new long[maxSize]; 		//创建对象
		front = 0;											//队头等于0
		rear = -1;										//队尾等于-1
		curNum = 0;									//当前的元素的个数是0
	}
	
	public void insert(long j){
		if(rear == maxSize-1){				//如果队尾是队列的最大值-1,则队尾等于-1
			rear = -1;
		}
		queueArray[++rear] = j;				//先自加为0,然后给队尾的元素赋值
		curNum++;									//当前的元素的个数加1
	}
	
	public long remove(){
		long temp = queueArray[front++];		//取得队头的元素,然后自加
		if(front == maxSize){
			front =0;
		}
		curNum--;										//当前的元素的个数减1
		return temp;
	}
	
	public long peekFront(){
		return queueArray[front];		
	}
	
	public boolean isEmpty(){
		return (curNum==0);
	}
	
	public boolean isFull(){
		return (curNum==maxSize);
	}
	
	public int Size(){					//返回当前队列元素的个数
		return curNum;
	}
	
}


//主类
//Function        : 	Queue_demo
public class Queue_demo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Queue queue_demo = new Queue(5);
		queue_demo.insert(50);
		queue_demo.insert(60);
		queue_demo.insert(70);
		queue_demo.insert(80);
		queue_demo.remove();
		queue_demo.insert(50);
		
		while( !queue_demo.isEmpty()){
			long value = queue_demo.remove();
			System.out.print(value+"、");
		}
	}

}

 技术分享

Java数据结构——队列

原文:http://www.cnblogs.com/tonglin0325/p/5334285.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!