用JAVA来实现对列

 

      队列是一种数据结构。类似于栈,不同的是在队列中第一个插入的数据项会最先别移除。也就是先进先出

最大空间。元素大小,队头,队尾。

 

 下面我们来编写个MyQueue类

 package com.tankiy.array;

/**
 * 队列
 * @author Tankiy
 *
 */
public class MyQueue {
	/**
	 * 队列的最大值
	 */
	private int maxSize;
	/**
	 * 队头
	 */
	private int head;
	/**
	 * 队尾
	 */
	private int end;
	/**
	 * 元素大小
	 */
	private int elements;
	private int array[];
	
	public MyQueue(int maxSize) {
		this.maxSize = maxSize;
		array = new int[maxSize];
		end = -1;
		head = 0;
		elements = 0;
	}
	
	/**
	 * 向对列中插入元素
	 * @param value
	 */
	public void add(int value) {
		array[++end] = value;
		elements++;
	}
	
	/**
	 * 移除队列的元素
	 */
	public int remove() {
		elements--;
		return array[head++];
	}
	
	/**
	 * 判断队列是否为空
	 * @return
	 */
	public boolean isEmpty() {
		return elements == 0;
	}
	
	/**
	 * 判断队列是否已满
	 * @return
	 */
	public boolean isFull() {
		return elements == maxSize - 1;
	}
}

用Juint4来进行测试
package com.tankiy.array;

import org.junit.Test;


public class MyQueueTest {
	@Test
	public void queueTest() {
		//定义队列大小
		MyQueue queue = new MyQueue(5);
		//向队列中插入元素
		queue.add(2);
		queue.add(5);
		queue.add(1);
		queue.add(8);
		queue.add(0);
		
		//循环移除直到队列为空
		while(!queue.isEmpty()) {
			System.err.println(queue.remove());
		}
	}
}
输出的结果就是先插入的先输出。这就是队列
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值