Java数据结构与算法之Queue队列

目录:
1.队列概述
2.队列分类
3.数组实现自定义队列
4.链表实现自定义队列

1.队列概述
队列是一种特殊的线性表,它可以通过数组与链表两种方式实现,它与单链表和数组的区别是它只能从队尾添加元素,
队首删除元素,同时满足先进先出(IFIO)的原则。


2.队列分类

3.数组实现自定义队列
(1)自定义队列接口CustomQueue.java
package com.datastructure.test;
/*
 * 自定义的队列接口,定义队列需要实现的方法,提供给类继承实现
 */
public interface CustomQueue<T> {
	//入队函数,实现队列添加元素
	public void put(T data)throws Exception;
	//出队函数,实现队列元素删除
	public T remove()throws Exception;
	//判断是否队列为空
	public boolean isEmpty();
	//获取队列的长度
	public int size();
	//获取队列队头元素
	public T getFrontElement()throws Exception;
}

(2)数组实现对列自定义类CustomArrayQueue.java
package com.datastructure.test;


public class CustomArrayQueue<T> implements CustomQueue<T> {
	//默认队列长度
	static final int defaultSize = 15;
	//队列元素集合
	private T[] queueVals;
	//队列长度
	private int size;
	//队列第一个对象的位置
	private int front;
	//队列当前对象的位置
	private int rear;
	/*
	 * 默认构造方法,设置默认队列长度为15
	 */
	@SuppressWarnings("unchecked")
	public CustomArrayQueue (){
		front=rear=0;
		size = 0;
		queueVals = (T[]) new Object[defaultSize];
	}
	/*
	 * 带参构造方法,队列长度可自定义
	 */
	@SuppressWarnings("unchecked")
	public CustomArrayQueue (int defineSize){
		front=rear=0;
		size = 0;
		queueVals = (T[]) new Object[defineSize];
	}
	/*
	 * 添加对象到队列中
	 */
	@Overri
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值