上一节我们讲解了解密QQ号,我们就用到队列的性质,队列是一种特殊的线性结构,它只允许在队列的首部进行删除操作,我们称为“出队”,而在队列的尾部进行插入的操作我们称为"入队";队列是我们以后学习广度优先搜索用到的核心数据结构。
代码实现:
import java.util.Scanner;
public class QueueApp {
static class Queue{
int data[] = new int [100];
int head;//队首
int tail;//队尾
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Queue queue = new Queue();
//初始化队列
queue.head = 1;
queue.tail = 1;
//向队列中插入数据
for (int i=1;i<=9;i++) {
queue.data[i] = input.nextInt();
queue.tail++;
}
//当队列不为空的时候执行循环
while (queue.head < queue.tail) {
//打印队首并将队首出队
System.out.print(queue.data[queue.head]+" ");
queue.head++;
//先将新队首的数添加到队尾
queue.data[queue.tail] = queue.data[queue.head];
queue.tail++;
//再将队首出队
queue.head++;
}
}
}
网友评论