在具有头结点的单链表中,头指针指向链表的第一个数据结点。

题目

在具有头结点的单链表中,头指针指向链表的第一个数据结点。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

● 单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是 (60) 。

(60)A. 若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)

B. 在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理

C. 加入头结点后,代表链表的头指针不因为链表为空而改变

D. 加入头结点后,在链表中进行查找运算的时间复杂度为O(1)


正确答案:D
试题(60)分析
  本题考查数据结构基础知识。
  含有头结点的单链表如下图所示

  在链表中加入头结点后,查找表中某一元素仍然要从头指针出发,顺序找到目标元素或失败时找到表尾为止,时间复杂度与表长成正比。

第2题:

单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向()。


参考答案:头结点的指针、指向第一个结点的指针

第3题:

在无头结点的双链表中,指针P所指结点是第一个结点的条件是()。


参考答案:p->prior==NULL

第4题:

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q、均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

该程序段实现的功能是( )。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


正确答案:A
循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

第5题:

在一个长度为n(n>1)的带头结点的单链表head上,另设有尾指针r(指向尾结点),执行()操作与链表的长度有关。

A.删除单链表中的第一个元素

B.删除单链表中的尾结点

C.在单链表的第一个元素前插入一个新结点

D.在单链表的最后一个元素后插入一个新结点


参考答案:B

第6题:

在具有头结点的单链表中,头指针不是指向链表的第一个数据结点。()

此题为判断题(对,错)。


参考答案:正确

第7题:

对于单链表表示法,以下说法正确的是()

A指向链表的第一个结点的指针,称为头指针

B单链表的每一个结点都被一个指针所指

C任何结点只能通过指向它的指针才能引用

D尾指针变量具标识单链表的作用,故常用尾指针变量来命名单链表


参考答案:ABC

第8题:

单链表中的头结点就是单链表的第一个结点。()

此题为判断题(对,错)。


参考答案:错误

第9题:

关于循环链表与线性链表,不正确的是( )。

A.每个结点的组成是数据域和指针域

B.循环链表中最后一个结点的指针指向链表的第一个结点

C.循环链表中访问指定结点的直接前驱可直接访问

D.循环链表中的循环条件是判断当前指针是否指向头指针


正确答案:C
解析:循环链表从任意一结点出发可以找到表中的其他结点,但其查找方向固定,要找到其直接前趋,需要从其后继结点开始,访问完表中的所有结点指针才能完成。

第10题:

阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
函数ReverseList(LinkList headptr)的功能是将含有头结点的单链表就地逆置。处理思路是将链表中的指针逆转,即将原链表看成由两部分组成:已经完成逆置的部分和未完成逆置的部分,令s指向未逆置部分的第一个结点,并将该结点插入已完成部分的表头(头结点之后),直到全部结点的指针域都修改完成为止。
例如,某单链表如图1所示,逆置过程中指针s的变化情况如图2所示。

链表结点类型定义如下:

typedef struct Node{ int data; Struct Node *next; }Node,*LinkList; [C函数] void ReverseList(LinkList headptr) { //含头结点的单链表就地逆置,headptr为头指针 LinkList p,s; if(______) return; //空链表(仅有头结点)时无需处理 P=______; //令P指向第一个元素结点 if(!P->next) return; //链表中仅有一个元素结点时无需处理 s=p->next; //s指向第二个元素结点 ______ =NULL; //设置第一个元素结点的指针域为空 while(s){ p=s; //令p指向未处理链表的第一个结点 s= ______; p->next=headptr->next; //将p所指结点插入已完成部分的表头 headptr->next= ______; } }


答案:
解析:
!headptr->next,或!headptr||!headptr->next,或其等价形式
headptr->next
headptr->next->next,或p->next,或其等价形式
s->next,或p->next, 或其等价形式
p

更多相关问题