目录:
1.队列概述
2.队列分类
3.数组实现自定义队列
4.链表实现自定义队列
1.队列概述
队列是一种特殊的线性表,它可以通过数组与链表两种方式实现,它与单链表和数组的区别是它只能从队尾添加元素,
队首删除元素,同时满足先进先出(IFIO)的原则。
2.队列分类
3.数组实现自定义队列
(1)自定义队列接口CustomQueue.java
(2)数组实现对列自定义类CustomArrayQueue.java
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