不带头结点的单链表head为空的条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不带头结点的单链表head为空的判别条件是()A.head!=NULL B.head—>link= =NULL C.head—>link= =head D.head= =NULL
B
因为不带头结点,所以head的下一位是第一位
即判断head->link是否为空即可
不带头结点的单链表head为空的判定条件是什么head==NULL;头指针直接指向空
若有头结点,则为head->next==NULL
head==null;
带头结点的是head->null;
( )不带头结点的单链表head为空的判定条件是
head==NULL
head->next==NULL
head!=NULL
head->next==head
A head == NULL
带头结点的单链表head为空的判定条件()
正确答案: B 你的答案: C (错误)
head==NULL
head->next==NULL
head->next==head
head!=NULL
B
注意是带头结点,如果不带头结点就选A
为何头指针为head的带头结点的单链表判空条件head->next==null?其实一开始这里也是没啥问题的,只是突然产生了疑问点——head为头指针,储存了头结点的地址,按照我残余的一点指针知识,我总感觉不对,head只是个地址,咋可以直接head->next使用呢?其实哈,这里又产生了和我之前学结构体这个知识点一样的纠结点(嘿嘿,其实这里也算是结构体类型)——结构体
总之和结构体类型一样这个指向符号“->”,这里是有特殊规定的,
比如你定义个结构体类型
struct student
{
int age;
float score;
char name[100];
}*pstu,stu;
你用stu.age,pstu->age或者(*pstu).age都是一样可以取到成员变量的,这里的pstu它也是个地址,但是c语言就是这么规定了利用pstu->age可以取到其结构体内部成员变量(记住就好)所以不
难理解为啥head这个指向头结点的指针为啥用head->next就能取到头结点结构体中的next成员变量了。
如此便恍然大悟,头结点中next成员变量存储的是下一个结点的地址,若next域中为null,所以除了头结点外,链表中无其他结点,于是单链表判空。