下文是笔者讲述使用数组实现队列效果的方法分享,如下所示: 实现思路: 设置一个startIndex和curIndex及size三个变量,即可使用数组实现一个队列效果,如下所示 package com.java265.algorith
下文是笔者讲述使用数组实现队列效果的方法分享,如下所示:
实现思路:
设置一个startIndex和curIndex及size三个变量,即可使用数组实现一个队列效果,如下所示
package com.java265.algorithm;/*
* 作者:java265.com
* 使用数组实现一个队列效果,
* 队列先进先出
* */
public class ArrayToQueue {
public static void main(String[] args) {
ArrayQueue.add(190);
ArrayQueue.add(2);
ArrayQueue.add(1);
ArrayQueue.add(9);
ArrayQueue.add(8);
ArrayQueue.add(15);
ArrayQueue.add(14);
System.out.println("=============");
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
ArrayQueue.poll();
}
}
class ArrayQueue{
// 固定栈大小
static int[] arr = new int[3];
// startIndex 第一个元素索引
static int startIndex = 0;
// 当前位置
static int curIndex = 0;
// 队列元素个数
static int size = 0;
static {
}
static void add(int a) {
if (size == arr.length) {
System.out.println("队列已满,入列失败!");
return;
}
arr[curIndex++] = a;
curIndex = (curIndex == arr.length) ? 0 : curIndex;
++size;
}
static void poll() {
if (size == 0) {
System.out.println("队列为空,出队列失败!");
return;
}
System.out.println("出队列元素为:" + arr[startIndex++]);
startIndex = (startIndex == arr.length) ? 0 : startIndex;
--size;
}
}