题目内容 (请给出正确答案)
[主观题]

【第3-4题】设有一个不带表头结点的单链表,下面递归算法...

【第3-4题】设有一个不带表头结点的单链表,下面递归算法的功能是: (1) 删除以head为头指针的单链表中值为x的所有结点。 (2) 输出以head为头指针的单链表中最大结点值。 (3) 删除并释放以head为头指针的单链表中所有结点。 请在空白处填入正确的语句。(1) void delall(LinkList &head, ElemType x) { LinkList p; if (head != NULL) { if (________①_________) { p = head; ________②________; free(p); _________③______________; } else delall(head->next, x); } } (2) ElemType MaxValue(LinkList head) { ElemType m; if (__________④___________) return (head->data); m = _______⑤_________; if (_______⑥_________) return m; else return head->data; } (3) void release(LinkList head) { if (_______⑦________) { release(head->next); _______⑧________; } }

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“【第3-4题】设有一个不带表头结点的单链表,下面递归算法..…”相关的问题

第1题

给定(已生成)一个带表头结点的单链表,设head为头指针,结点的结构为(dam,next),dam为整型元素,next为指针,试写出算法:按递增次序输出单链表中各结点的数据元素,并释放结点所占的存储空间。(要求:不允许使用数组作辅助空间。)【华中理工大学2000八、2(13分)】

点击查看答案

第2题

已知一个带有表头结点的单链表,结点结构为(data,link),假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数),若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0,要求: (1)描述算法的基本设计思想; (2)描述算法的详细实现步骤; (3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或Java语言实现),关键之处请给出简要注释。【2009年全国试题42(15分)】

点击查看答案

第3题

编写逆向输出不带头结点的单向链表中数据域的递归算法。设表中有4个结点,从表头至表尾其数据域分别为10,30,20,40,作图表示出该算法的执行过程。设该链表的结点的数据类型的名称为list,结点的数据域和指针域的名称分别为data和next,不必写出list的定义。【中南大学2005四、3(10分)】

点击查看答案

第4题

有一个不带表头节点的单链表,其节点类型为LinkList。设计一个递归算法,删除以h为首指针的单链表中第一个值为x的节点。
点击查看答案

第5题

请设计算法将不带头结点的单链表就地逆置。

点击查看答案

第6题

已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

(1)删除P结点的语句序列是______;

(2)删除尾元结点的语句是______。

a P—>next=P—>next—>next b P=P—>next—>next

c while(P—>next!=Q)P=P—>next

d while(P—>next!—>next!=Q)P=P—>next

e while(P—>next!—>next!=NULL)P=P—>next

f Q=P g Q=P—>next

h P=L i L=L—>next

j free(Q)

点击查看答案

第7题

已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( )

A、void insert(List *L,elemtype x) { ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; }

B、List * insert(List *L,elemtype x) { ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L; }

C、void insert(List *L,elemtype x) { ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q; }

D、List * insert(List *L,elemtype x) { ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q; }

点击查看答案

第8题

对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( );对于不带头结点的单链表,则判定空表的条件为( )。

A.head==NULL

B.head->next=NULL

C.head->next==head

D.head!=NULL

点击查看答案

第9题

采用不带尾指针的单链表方式表示一个栈,便于结点的插入与删除。栈顶结点的插入与删除通常在链表的_____进行。

A 任意位置

B 链表头尾两端

C 链表头一端

D 链表尾一端

点击查看答案

第10题

已知sq是带头结点的非空单链表,且*p结点既不是第一个结点,也不是最后一个结点,则

  ①删除*p结点的直接后继结点的语句序列。

  ②删除*p结点的直接前驱结点的语句序列。

  ③删除*p结点的语句序列。

  ④删除第一个结点的语句序列。

  ⑤删除最后一个结点的语句序列。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信