顺序队列

简介:
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、队尾指针总是指向队列中队尾的元素,而队头指针总是指向队列中队头元素的前一个元素。






本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5196622.html,如需转载请自行联系原作者
相关文章
|
10月前
|
消息中间件 存储 搜索推荐
深入理解栈和队列(二):队列
深入理解栈和队列(二):队列
89 0
用循环链表实现队列
用循环链表实现队列
104 0
|
10月前
|
Java C++
【剑指offer】-两个栈来实现一个队列-05/67
【剑指offer】-两个栈来实现一个队列-05/67
|
10月前
leetcode:用栈实现队列(先进先出)
leetcode:用栈实现队列(先进先出)
|
10月前
|
存储 缓存 算法
队列的学习(二) 循环队列
队列的学习(二) 循环队列 循环队列是一种基于数组实现的队列,相比于普通队列,它的插入和删除操作更加高效。循环队列可以避免在队列头部删除元素时进行大量的数据搬移操作,实现了队列的“循环利用”。
111 0
|
Java
线性结构-队列
线性结构-队列
4039 0
线性结构-队列
SWUSTOJ 965: 循环队列
SWUSTOJ 965: 循环队列
128 0
顺序循环队列与链队列
今天学习了队列,一种是顺序循环队列,一种是链队列,我个人认为链队列相对好用一点,毕竟链队列不用考虑“假溢出”的问题,下面是我整理的关于队列的一些基本操作
179 0
顺序循环队列与链队列
Java实现队列——顺序队列、链式队列
#### 概念 先进者先出,这就是典型的“队列”。(First In, First Out,FIFO)。 我们知道,栈只支持两个基本操作:入栈push()和出栈pop()。队列跟栈非常相似,支持的操作也很有限,最基本的操作也是两个:入队和出队。入队 `enqueue()`,让一个数据到队列尾部;出队 `dequeue()`,从队列头部取一个元素。
Day9——用栈实现队列、用队实现拟栈
Day9——用栈实现队列、用队实现拟栈
123 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等