Java简单队列的实现

/**
 * 
 */
package com.handy.ds;

/**
 * @author handy
 * 
 */
public class SimpleQueue {
	// 队列最大长度
	private int maxSize;
	// 队列数组
	private int[] queue;
	// 队头
	private int front;
	// 队尾
	private int rear;
	// 队列元素大小
	private int size;

	public SimpleQueue(int maxSize) {

		this.maxSize = maxSize;
		front = 0;
		rear = -1;
		size = 0;
		queue = new int[maxSize];
	}

	/**
	 * @return the maxSize
	 */
	public int getMaxSize() {
		return maxSize;
	}

	/**
	 * @param maxSize
	 *            the maxSize to set
	 */
	public void setMaxSize(int maxSize) {
		this.maxSize = maxSize;
	}

	/**
	 * @return the queue
	 */
	public int[] getQueue() {
		return queue;
	}

	/**
	 * @param queue
	 *            the queue to set
	 */
	public void setQueue(int[] queue) {
		this.queue = queue;
	}

	/**
	 * @return the front
	 */
	public int getFront() {
		return front;
	}

	/**
	 * @param front
	 *            the front to set
	 */
	public void setFront(int front) {
		this.front = front;
	}

	/**
	 * @return the rear
	 */
	public int getRear() {
		return rear;
	}

	/**
	 * @param rear
	 *            the rear to set
	 */
	public void setRear(int rear) {
		this.rear = rear;
	}

	/**
	 * @return the size
	 */
	public int getSize() {
		return size;
	}

	/**
	 * @param size
	 *            the size to set
	 */
	public void setSize(int size) {
		this.size = size;
	}

	public boolean isFull() {
		if (size == maxSize)
			return true;
		else
			return false;
	}

	public boolean isEmpty() {
		if (size == 0)
			return true;
		else
			return false;
	}

	public void enQueue(int number) {
		if (!isFull()) {
			if (rear == maxSize - 1)
				// 队列循环
				rear = -1;

			queue[++rear] = number;
			size++;
		} else
			System.out.println("队列满了!");
	}

	public int deQueue() {
		if (!isEmpty()) {
			int temp = queue[front++];
			// 队列循环
			if (front == maxSize)
				front = 0;
			size--;

			return temp;
		} else {
			System.out.println("空队列!");
			return -1;
		}
	}

	// 返回队头,不改变队列大小
	public int queueFront() {
		if (!isEmpty()) {
			return queue[front];
		} else {
			System.out.println("空队列!");
			return -1;
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值