数据结构总结 之 队列
分类:
文章
•
2025-02-24 10:40:59
队列
定义
- 只允许在表的一端进行插入,而在另一端删除元素的线性表。
- 在队列中,允许插入的一端叫队尾(rear),允许删除的一端称为队头(front)。
特点
链队列
- 队列的链式表示
- 在进队时无队满问题,但有队空问题。
顺序队列
- 队列的顺序存储表示。
- 用一组地址连续的存储单元依次存放从队列头到队列尾的元素
- 在非空队列中,头指针 front 指向队列头元素,而尾指针 rear 指向队列尾元素的下一个位置
- 插入新的队尾元素,尾指针增1,rear = rear + 1
- 删除队头元素,头指针增1, front = front + 1
- 队满时再进队将溢出
循环队列
- 队头、队尾指针加1,可用取模(余数)运算实现。
- 队头指针进1: front = (front+1) %maxsize;
- 队尾指针进1: rear = (rear+1) % maxsize;
- 队列初始化:front = rear = 0;
- 队空条件:front == rear;
- 队满条件:(rear+1) % maxsize == front
应用
- 打印二项展开式 (a+b)i 的系数(杨辉三角形)
优先级队列(priority queue)