用C语言实现一个循环队列并不难。关键点在于对队列 "空" 和 "满" 状态的判断。
正如《C和指针》中所描写的,有两种方法来实现对队列空和满状态的判断。
在数组中空一个元素不填,起始时, 置tail为0, front为1, 这样一来, 实现要浪费queue buffer中两个元素空间:
队列空: (tail+1) % queue_size == front
队列满: (tail+2) % queue_size == front
定义一个变量来记录队列中元素的个数, 判断队列的空和满直接看变量的值即可
本文中使用的是第2种:
来自:http://blog.csdn.net/huangkangying/article/details/44066729
正如《C和指针》中所描写的,有两种方法来实现对队列空和满状态的判断。
在数组中空一个元素不填,起始时, 置tail为0, front为1, 这样一来, 实现要浪费queue buffer中两个元素空间:
队列空: (tail+1) % queue_size == front
队列满: (tail+2) % queue_size == front
定义一个变量来记录队列中元素的个数, 判断队列的空和满直接看变量的值即可
本文中使用的是第2种:
来自:http://blog.csdn.net/huangkangying/article/details/44066729
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/8213/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表