intqueue.java

来自「android 下的一个小游戏」· Java 代码 · 共 55 行

JAVA
55
字号
package bianp.teris;

/**
 * int 值的一个Queue
 * 
 * @author BianPeng
 * 
 */
public class IntQueue {
	private int[] _queue;
	private int _head;
	private int _tail;

	public IntQueue(int s) {
		_queue = new int[s];
		_head = 0;
		_tail = 0;
	}

	public boolean empty() {
		return tail() == head();
	}

	public boolean full() {
		return tail() - head() == _queue.length - 1;
	}

	private int offset(int i) {
		return i % _queue.length;
	}

	private int tail() {
		return _tail;
	}

	private int head() {
		return _head;
	}

	public void push(int i) {
		if (full())
			return;
		int low = _head - _head % _queue.length;
		_head -= low;
		_tail -= low;
		_queue[offset(_tail++)] = i;
	}

	public int shift() {
		if (empty())
			return -1;
		return _queue[offset(_head++)];
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?