定义
队列是可以进行两端操作的线性表,一端入数据,一端出数据。
队列的基础操作
1、基础数据类型
数据名称 | 数据类型 | 数据用途 |
---|---|---|
array | int[] | 队列主体 |
maxsize | int | 队列大小 |
rear | int | 队尾指针 |
front | int | 队头指针 |
2、基本函数操作
(1)队列构造
public ArrayQueue(int arrMaxSize){
maxSize = arrMaxSize;
array = new int[maxSize];
front = -1;
rear = -1;
}
(2)队空队满判断
//判断队列是否满
public boolean isFull(){
return rear == maxSize - 1;
}
//判断队列是否为空
public boolean isEmpty(){
return rear == front;
}
(3)入队列
public void addQueue(int k){
if(isFull()){
System.out.println("队列满,不能加入...");
return;
}
rear++;
array[rear] = k;
}
(4)出队列
public int getQueue(){
if(this.isEmpty()){
System.out.println("Queue is empty");
return 0;
}
front++;
return array[front];
}
(5)队列头数据显示
public int showQueueHead(){
if(isEmpty()){
System.out.println("Queue is empty");
return 0;
}
return array[front+1];
}
(6)全队列显示
public void showQueueAll(){
if(this.isEmpty()){
System.out.println("Queue is empty");
}
for (int i = 0; i < array.length; i++) {
System.out.printf("array[%d]=%d\n",i,array[i]);
}
}