模拟循环队列

来源:互联网 发布:2017非诚勿扰淘宝店主 编辑:程序博客网 时间:2024/06/05 12:02


package l7;/** * 循环队列* @ClassName: LoopQueue * @Description: TODO(这里用一句话描述这个类的作用) * @author chen_jf* @date 2017年4月27日 下午1:36:05 * */public class LoopQueue {private int size;private int front;private int rear;private Object[] data;public LoopQueue() {this.size = 11;this.front = 0;this.rear = 0;data = new Object[size];}public LoopQueue(int size) {this.size = size + 1;this.front = 0;this.rear = 0;data = new Object[this.size];}/** * * @Title: isFull * @Description: TODO(判断队列是否满) * @param @return  参数说明 * @return boolean    返回类型 * @throws */public boolean isFull() {boolean full = true;if ((this.rear + 1) % size == this.front) {full = true;} else {full = false;}return full;}/** * * @Title: isEmpty * @Description: TODO(判断队列是否为空) * @param @return  参数说明 * @return boolean    返回类型 * @throws */public boolean isEmpty() {boolean empty = true;if (this.rear == this.front) {empty = true;} else {empty = false;}return empty;}/** * * @Title: inQueue * @Description: TODO(入队) * @param @param obj  参数说明 * @return void    返回类型 * @throws */public void inQueue(Object obj) {if (this.isFull()) {System.out.println("队列已满");} else {//System.out.println(front + "---------" + rear);this.rear = (rear + 1) % size;data[rear] = obj;System.out.println("入队:" + obj);}}/** * * @Title: outQueue * @Description: TODO(这里用一句话描述这个方法的作用) * @param @return  参数说明 * @return Object    返回类型 * @throws */public Object outQueue() {Object obj = null;if (this.isEmpty()) {System.out.println("队列为空");} else {this.front = (front + 1) % size;obj = data[front];System.out.println("出队:" + data[front]);}return obj;}/** * * @Title: display * @Description: TODO(遍历) * @param   参数说明 * @return void    返回类型 * @throws */public void display() {int f = front + 1;int r = rear + 1;while (f != r) {System.out.println("遍历:" + data[f]);f = f++ % this.size;}}}

package l7;public class Test {public static void main(String[] args) {LoopQueue queue = new LoopQueue(10);queue.inQueue("1");queue.inQueue("2");queue.inQueue("3");queue.inQueue("4");queue.inQueue("5");queue.inQueue("6");queue.inQueue("7");queue.inQueue("8");queue.inQueue("9");queue.inQueue("10");queue.inQueue("11");queue.inQueue("12");queue.inQueue("13");queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.outQueue();queue.inQueue("11");queue.inQueue("12");queue.inQueue("13");}}

入队:1入队:2入队:3入队:4入队:5入队:6入队:7入队:8入队:9入队:10队列已满队列已满队列已满出队:1出队:2出队:3出队:4出队:5出队:6出队:7出队:8出队:9出队:10入队:11入队:12入队:13



0 0
原创粉丝点击