一、队列的定义
队列是啥?
数据从表的一端进,从另一端出,且遵循 "先进先出" 原则的线性存储结构就是队列。
队列的两个基本操作:入队将一个数据放到队列尾部;出队从队列的头部取出一个元素。
队列的应用:循环队列、阻塞队列、并发队列、优先级队列等。
栈和队列不要混淆,栈结构是一端封口,特点是"先进后出";而队列的两端全是开口,特点是"先进先出"。
队列存储结构的实现有以下两种方式:
- 顺序队列:在顺序表的基础上实现的队列结构;
- 链队列:在链表的基础上实现的队列结构;
两者的区别仅是顺序表和链表的区别,即在实际的物理空间中,数据集中存储的队列是顺序队列,分散存储的队列是链队列。
队列的操作
入队(尾部入队)
①将值存入rear所代表的位置。
②rear = (rear+1)%数组的长度。
出队(头部出队)
front = (front+1)%数组的长度。
队列是否为空
front和rear的值相等