首页 > 其他 > 详细

顺序队列

时间:2015-06-11 17:08:16      阅读:199      评论:0      收藏:0      [点我收藏+]
public class SqQueue {

	int[] data;
	int front, rear;
	SqQueue() {
		data = new int[30];
		front = rear = -1;
	}
	boolean empty() {
		return front == rear;
	}
	
	boolean enQueue(int e) {
		if(rear == 29)
			return false;
		rear++;
		data[rear] = e;
		return true;
	}
	
	int[] deQueue() {
		int[] arr = new int[2];
		if(front == rear) {
			arr[0] = 0;
			return arr;
		}
		arr[0] = 1;
		front++;
		arr[1] = data[front];
		return arr;
	}
	
	void display() {
		for(int i=front+1; i<=rear; i++) {
			if(i != rear) {
				System.out.print(data[i] + "->");
			} else {
				System.out.println(data[i]);
			}
		}
	}
	public static void main(String[] args) {
		SqQueue sq = new SqQueue();
		System.out.println(sq.empty());
		sq.enQueue(4);
		sq.enQueue(5);
		sq.display();
		sq.deQueue();
		sq.deQueue();
		System.out.println(sq.empty());
		sq.display();
		sq.enQueue(1);
		sq.enQueue(3);
		sq.display();
		sq.deQueue();
		sq.display();
		sq.enQueue(2);
		sq.deQueue();
		sq.display();
		System.out.println(sq.empty());

	}

}


结果:

true
4->5
true
1->3
3
2
false

ps:1、队空条件为 front==rear

         2、队满条件为rear==maxSize-1

         3、队尾指针总是指向队列中队尾的元素,而队头指针总是指向队列中队头元素的前一个元素。

顺序队列

原文:http://blog.csdn.net/qhairen/article/details/46457117

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