1、什么是队列?
队列是一个特殊的线性表,它只允许在表的前端(front)进行删除操作,在表的后端进行插入操作,和
栈一样队列是一种操作受限的线性表。其特性FIFO(first in first out) 先进先出。
2、队列的分类
1、顺序(单向)队列:只能在一端增加,另一端删除。
2、循环(双向)队列:每一段都能进行增加删除操作。
3、基于数组实现顺序队列
package com.example.demo;
/**
* @author: sun jian ming
* @since: 2022/4/3
* create at: 2022/4/3 14:22
*/
public class ArrayQueue {
private int data[]; //数据
private int head; //头
private int tail; //尾
private int n=0; //数据大小
private int size = 0;
/**
* 构造方法初始化数组
* @param cap
*/
public ArrayQueue(int cap){
data = new int[cap];
n = cap;
}
/**
* 入队
* 根据队列得原理,从尾部入队,当前队列得数据即为data[head]~data[tail].
*/
public void push(int prarms){
if(tail == n