链队列在出队思路如下:
判断队列是否为空队列
如果是,抛出异常终止程序
如果不是,则判断队列中是否仅剩一个结点
如果只剩一个结点,释放该结点,然后将head和tail置为空
如果不是只剩一个结点,那么使用一个指针记录下当前队头的下一个结点的位置...求链队列的长度,因为我们有设计记录链队列长度的变量size,因此我们直接返回结构体中的size成员的值即可....判断队列是否为空,我们可以返回(pq->size==0)表达式的值:
如果队列为空,则size=0,则pq->size==0表达式为真,函数返回true....取队尾元素思路:
判断队列是否为空
为空抛出异常
不为空返回队尾指针指向的尾节点的数据域
综上,该部分代码如下:
QDatatype QueueBack(Que* pq)
{
assert(pq)...为空返回真!