MyQueue队列的 数组实现

本文介绍了一个基于Java的MyQueue类,该类使用数组来实现队列的功能,包括入队(enqueue)、出队(dequeue)以及检查队列是否已满或为空的方法。示例代码展示了如何初始化队列、添加和移除元素,以及在数组容量达到限制时进行调整。
摘要由CSDN通过智能技术生成
package implement;


public class MyQueue<T> {//基于数组实现

	private int size ;//记录队列的大小
	private T [] queue  ;
	private int head;//队头
	private int end;//队尾
	
	public MyQueue() {
	}
	public MyQueue(int initSize) {//指定队列大小
		this.head = 0;
		this.end = -1;
		this.size = 0;
		this.queue = (T[]) new Object[initSize];
		
	}
	/**
	 * ----------------
	 * | |1|2|3|4|5|6|7|
	 *    头                            尾
	 *    
	 *    实际数组容量没满,队列中还可以添加元素,尾部移动到下标为0的地方
	 * ----------------
	 * @param t
	 */
	public void enqueue(T t){//入队
		if (isFull()) {//如果满了就抛出异常。
			throw new RuntimeException();
		}
		if (end == queue.length-1) {//到队最后一个元素了
			queue[0] =t;///添加到 index为0的位置,同时也就是对尾
			end =0;
		}else {
			queue[++end] = t;//将数据放到对于的队尾加一中
		}
		size++;//容量加1
	}
	
	/**
	 * ---------------
	 * |1|2|3| | | |7|
	 *      尾                 头
	 *  
	 * ---------------
	 * @return
	 */
	public T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值