数组模拟非循环队列 思路分析 \(front:\) 指向队头元素,\(rear:\) 指向队尾元素的后面一个元素,\(maxSize:\) 队列大小 队列为空:\(rear == front\),队列满:\(rear == maxSize\) 进队列:直接加入到 \(rear\) 的位置,然后 \( ...
分类:
编程语言 时间:
2020-06-15 13:53:07
阅读次数:
59
//使用层次遍历二叉树的最大宽度 typedef struct { Btnode * p; //结点指针 int lno; //节点所在层号 }St int maxNode(BTnode *b) { //创建一个顺序非循环队列 St que[maxsize]; int front,rear; fro ...
分类:
其他好文 时间:
2019-12-13 13:33:41
阅读次数:
137
1. 循环队列的长度计算:对于非循环队列,尾指针与头指针的差值便是队列长度,而对于循环队列,差值可能为负数,因此需要将差值加上MAXQSIZE再与MAXQSIZE求余。 2. 算法的时间复杂度取决于:待处理数据的状态与问题的规章。 3. HRN调度算法:最高响应比=(等待时间+执行时间)/ 执行时间 ...
分类:
其他好文 时间:
2016-04-10 17:50:30
阅读次数:
138
队列大家见得很多了,形式也比较简单,就是一个特化的链表,它的enqueue、dequeue操作相当于链表的addLast、removeFirst操作。关于链表的实现,可以查看我的另一篇博文--"LinkedList--链表"。下面仅讨论一个稍微复杂点的情况--循环队列。
循环队列的就是用循环数组来实现队列,有一个问题需要解决:在普通的非循环队列中,rear == front 说明队...
分类:
其他好文 时间:
2015-08-21 13:46:53
阅读次数:
138
思想:图G是不带权的无向连通图,一条边的长度计为1,因此,求带顶点u和顶点v的最短的路径即求顶点u和顶点v的边数最少的顶点序列。利用广度优先遍历算法,从u出发进行广度遍历,类似于从顶点u出发一层一层地向外扩展,当第一次找到顶点v时队列中便包含了从顶点u到顶点v最近的路径,如图所示,再利用队列输出最路径(逆路径),所以设计成非循环队列。
...
分类:
编程语言 时间:
2015-07-18 12:40:05
阅读次数:
358
和栈相反,队列是一种先进先出的的线性表。它只允许在表的一端进行插入,而在另一端删除元素。这和我们日常生活中的队列是一致的,最早进入队列的元素最早离开。在队列中,允许插入的一端叫做队尾,允许删除的一端则稀烂为队头。
顺序队列,即队列的顺序存储结构。由于队列的队头和队尾的位置均发生变化,因此在队列顺序存储结构中,除了用一组地址连续的存储单元依次存放从队头到队尾的元素之外,还需要附设...
分类:
其他好文 时间:
2014-09-21 16:34:50
阅读次数:
297