Bootstrap

1.用数组的方式实现队列和循环队列

1.队列的认知

1.1队列的初认知:

  • 生活实际中的队列:例如银行排队,取餐排队等等
  • 队列的特点:先进先出

2实现队列的方式:

  • 数组(顺序存储)
  • 链表(非线性存储);

3.数组实现队列的思路

如图所示:

Maxsize为数组的最大长度。front 为队列的头指针,rear为队列的尾指针,最开始他们都指向-1;

当队列为空时:rear= front;

当队列已满时:rear = Maxsize-1;

4.数组模拟队列的构建,出队,入队的操作

4.1队列的构造和入队出队

public class Queue {
   
    int maxSize;//队列最大容量
    int rear;//模拟队尾头指针
    int front;//模拟队列头指针
    Object[] array; //使用数组模拟队列

    /**
     * 队列初始化
     *
     * @param maxSize 队列最大容量
     * @return
     */
    public Queue(int maxSize) {
   
        rear = -1;
        front = -1;
        this.maxSize = maxSize;
        this.array = new Object[maxSize];
    }


    /**
     * 入队方法
     *
     * @param e 入队元素
     * @return
     */
    public boolean enQueue(int e) {
   
        if (rear >= maxSize - 1) {
   
            System.out.println("队满,入队失败!");
            return false;
        } else {
   
            rear++;//指针后移
            array[rear] = e;//存入元素,入队
        }
        return true;

    }

    /**
     * 出队方法
     *
     * @return
     */
    public Object deQueue() {
   
        if (front == rear) {
   
            System.out.println("队空,出队失败!");
            throw 
;