charqueue.java

来自「编译器中的词法分析」· Java 代码 · 共 50 行

JAVA
50
字号
package cmm.collections;

/**
 * 字符队列
 * @author Huang Xuanxing
 *
 */
public class CharQueue {
	private char[] buffer; // 缓冲器
	public static int head; // 队首指针
	
	public CharQueue(String str) {
		buffer = str.toCharArray();
	}
	
	/**
	 * 获得队首字符
	 * @return
	 */
	public char poll() {
		head++;
		if (head > buffer.length) {
			head = buffer.length;
		}
		return buffer[head - 1];
	}
	
	/**
	 * 获取队列中字符
	 * @param idx
	 * @return
	 */
	public char charAt(int idx) {
		return buffer[head + idx - 1];
	}
	
	/**
	 * 还原队列
	 *
	 */
	public void reset() {
		head = 0;
	}

	//public int getLength(){
		//return buffer.length;
	//}
}

⌨️ 快捷键说明

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