问题描述
两个问题求大神解析:1 一个链式队列的队头和队尾指针分别为f和r,则判断对空的条件为————A f != NULL B r != NULL C f == NULL D f == r2 一个带头节点的链式队列的头指针f指向头节点,队尾指针为r,则判断队列为空的条件为——————A f != NULL B r != NULL C f == NULL D f == r
解决方案
1. 题目没有说清楚是否带头结点,假设不带头结点,队头队尾指针分别为f和r,则f和r都指向真正的节点,那么f==r表示f和r指向同一个节点,这时,队列中只有一个节点,只有f==r==null时表示队列为空,故为C;若带头结点,则和2一样2. 因为队列有头节点,所以f不可能为null(若f==null,则这个队列在内存中丢失),f始终指向头结点,因此当r也指向头结点时表示队列为空,故为D
解决方案二:
1.C 2.D
解决方案三:
1. D 2.C
解决方案四:
1是C2是D1的队列没有头结点,也就是说都是数据节点,而A、B和D都说明有数据节点2的队列有头结点,所以只有当front等于rear时才是没有插入数据节点的时候
解决方案五:
这里copy 下别人的介绍:链式队列只 允许从头部进行删除、尾部进行插入.需要为链式队列 创建一个头结点包括两个指针,指向队头的指针(front) 与指向队尾的指针(rear).当两个指针相等时队列为空可以看看图: - -http://image.baidu.com/i?ct=503316480&z=&tn=baiduimagedetail&ipn=d&word=%E9%93%BE%E5%BC%8F%E9%98%9F%E5%88%97&step_word=&ie=utf-8&in=15606&cl=2&lm=-1&st=&pn=3&rn=1&di=90929432000&ln=1985&fr=&&fmq=1399622086969_R&ic=&s=&se=&sme=0&tab=&width=&height=&face=&is=&istype=&ist=&jit=&objurl=http%3A%2F%2Fimg.ph.126.net%2FnL3STlpNOlyTrz33ChiQfg%3D%3D%2F3230769782686441865.jpg#pn3&-1&di90929432000&objURLhttp%3A%2F%2Fimg.ph.126.net%2FnL3STlpNOlyTrz33ChiQfg%3D%3D%2F3230769782686441865.jpg&fromURLippr_z2C%24qAzdH3FAzdH3Fks52_z%26e3B8mn_z%26e3Bv54AzdH3F27k7aa0AzdH3Fks52AzdH3FfpwptvAzdH3Fn80c8dcnda8dmn8n8m988a9AzdH3F&W546&H122&T8764&S10&TPjpg第一个我觉得选D:第二个我看图:http://image.baidu.com/i?ct=503316480&z=&tn=baiduimagedetail&ipn=d&word=%E5%B8%A6%E5%A4%B4%E8%8A%82%E7%82%B9%E7%9A%84%E9%93%BE%E5%BC%8F%E9%98%9F%E5%88%97&step_word=&ie=utf-8&in=4427&cl=2&lm=-1&st=&pn=0&rn=1&di=145800726060&ln=1833&fr=&&fmq=1399622457779_R&ic=&s=&se=&sme=0&tab=&width=&height=&face=&is=&istype=&ist=&jit=&objurl=http%3A%2F%2Fwww.51cto.com%2Ffiles%2Fuploadimg%2F20090706%2F151020441.jpg#pn0&-1&di145800726060&objURLhttp%3A%2F%2Fwww.51cto.com%2Ffiles%2Fuploadimg%2F20090706%2F151020441.jpg&fromURLippr_z2C%24qAzdH3FAzdH3Fk55h_z%26e3Bc8vp5_z%26e3Bv54AzdH3Fw6pAzdH3Fdaala0AzdH3F8n9800_z%26e3Bip4&W454&H321&T9750&S16&TPjpg第二个:C
解决方案六:
1. C 2.D
解决方案七:
1. D 2.C