20162328 2017-2018-1 《程序设计与数据结构》第6周学习总结
教材学习内容总结
队列元素按FIFO的方式处理————最先进入的元素最先离开。
队列是保存重复编码k值得一种有效结构。
实现模拟时,常用队列来表示等待的一列。
队列的链式实现方式便于找到指向链表中的第一个和最后一个元素的引用。
入队何出队操作在集合的两段进行。
因为队列操作修改集合的两端,所以将一端固定在下标为0的位置就会让元素移动。
非循环数组实现队列时元素的移动得到O(n)复杂度。
采用数组实现队列时,把一个数组看成是一个环,可以避免移动元素。
教材学习中的问题和解决过程
不明白循环数组中当front和rear指向同一个位置时,如何判断队列是否溢出或是为空
解决方法
第一种是在队列中设置一个空的位置,来避免这种问题的出现。第二种是设置哨兵,判断是front的移动导致了二者位置相等还是rear的移动导致了而这的位置相等。