JAVA顺序队列
2021-06-14 08:04
标签:ima i++ com image color pre 一个 creat return test.java ArrayQueue1.javapublic class ArrayQueue1 private int maxSize;//最大容量 true JAVA顺序队列 标签:ima i++ com image color pre 一个 creat return 原文地址:https://www.cnblogs.com/lintianxiajun/p/12826177.htmlpublic class test{
public static void main(String[] args) {
//创建一个队列
ArrayQueue1 a = new ArrayQueue1();
a.creatArrayQueue(5);
System.out.println(a.isEmpty());
a.addQueue(1);
a.addQueue(3);
a.getQueue();
a.showQueue();
System.out.println("-------------");
a.addQueue(5);
a.addQueue(7);
a.addQueue(3);
a.showQueue();
System.out.println(a.isFull());//此时虽然队列中的有效数字只有4个,不到5个,但是rear指针已经移到了maxSize-1的位置了。
}
}
private int front;//队列头
private int rear;//队列尾
private int arr[];
//创建队列
public void creatArrayQueue(int arrMaxSize) {
maxSize = arrMaxSize;
arr = new int[maxSize];
//指向队列前一个位置
front = -1;//头指针
rear = -1; //尾指针
}
//判断队列是否满
public boolean isFull() {
if(rear == maxSize-1)
return true;
else
return false;
}
//判断队列是否为空
public boolean isEmpty() {
if(front == rear)
return true;
else
return false;
}
//入队
public void addQueue(int n) {
//判断是否已满
if(isFull() == true)
{
System.out.println("队列已满");
return;
}
rear++;
arr[rear] = n;
}
//出队
public int getQueue() {
//判断队列是否为空
if(isEmpty() == true) {
System.out.println("队列为空");
return -1;
}
front++;
return arr[front];
}
//显示队列的所有数据
public void showQueue(){
if(isEmpty() == true)
{
System.out.println("队列为空");
return;
}
for(int i = front+1;i )
{
System.out.println(arr[i]);
}
}
}
结果:
3
-------------
3
5
7
3
true
上一篇:Floyd-warshall算法