队列:
1,队列是一种先进先出的线性表,它只允许在表的一段进行插入,而在另一端删除元素,在队列中,允许插入的一段叫做队尾(rear),允许删除的一端则称为队头。
2,举例:①银行叫号排队
②操作系统中的作业排队:在允许多道程序运行的操作系统中,同时有几个作业运行,如果运行的结果都需要用通道输出,那就要按请求输出的先后次序排队。每当通道传输完毕可以接受新的输出任务时,队头的作业先从队列中推出作输出操作。凡是申请输出的作业都从队尾进入队列
3,数组模拟队列示意图:
4,数组模拟队列思路:
首先,如上图所示:
- MaxSize是该队列的最大容量
- 因为队列的输入输出分别从两端进行,因此用两个变量front和rear分别记录两端的下标,front会随着数据输出而改变,rear会随着数据输入而改变
- 当我们将数据存入队列时,rear+1,如果rear==front,则说明队列为空;如果rear==MaxSize-1,则说明队列已满
5,代码实现