原文地址:http://www.cnblogs.com/mcgrady/p/3221672.html
上一篇讲了栈,这一篇要总结的是我们常用的队列,我想从以下几个方面进行总结。
1,什么是队列?
2,队列的存储结构?
3,队列的常用操作及实现代码?
1.什么是队列
1,首先,队列也是一种特殊的线性表,它是一种操作受限的线性表。它只允许在表的一端进行元素插入,而在另一端进行元素删除。允许插入的一端称为队尾(rear),允许删除的一端称为队头(font)。
2,对于队列,与现实生活中的排队类似,新加入的成员总是在队尾,而排在队列最前面的总是最先离开队列,即先进先出,因此队列也称为先进先出表(FIFO)。
2.队列的存储结构
3.队列的常见操作和代码实现
1,初始化队列
思路:构造一个空队列,即将头指针head和尾指针rear都设置为0。
2,入队
思路:若队列不满,则将数据x插入到尾指针rear指向的位置,然后再将rear加1。
3,出队
思路:若队列不空,则将头指针head加1,并返回被删除的元素。
4,取队头
思路:若队列不空,则返回队头元素。
5,取队长
思路:即尾指针rear-头指针head。
6,判队空
思路:只需要判断头指针head与尾指针是否相等即可
7,判队满
思路:只需判断尾指针与MaxSize是否相等即可
注:在一个非空队列中,头指针始终指向队头元素,而尾指针始终指向队尾元素的下一个位置。
代码实现:
时间: 2024-10-25 09:09:36