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

设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间。

提问人:网友hhz2020 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,…”相关的问题
第1题
设有一个表头指针为h的单链表,试设计一个算法,通过遍历一趟链表,将链表中所有结点的链接方向逆转,如图2-4所示。要求逆转结果链表的表头指针h指向原链表的最后一个结点。

点击查看答案
第2题
3. 已知一个带有表头结点的单链表,结点包含data域和next域,假设该链表只给出了头指针L。在不改变链表的前提下,请设计一个高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。
点击查看答案
第3题
从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将连接方向逆转,如图2-3所示。图中的指针p指向当前正在访问的结点,指针pr指向指针p所指结点的左侧的结点。此时,指针p所指结点左侧的所有结点的链接方向都已逆转。

(1)编写一个算法,从任一给定的位置(pr,p)开始,将指针p右移k个结点。如果p移出链表,则将p为0,并让pr停留在链表最右边的结点上。

(2)编写一个算法,从任一给定的位置(pr,p)开始,将指针p左移k个结点。如果p移出链表,则将p置为0,并让pr停留在链表最左边的结点上。

点击查看答案
第4题
设一棵二叉树的存储表示是二叉链表,编写一个用逆转链方法实现二叉树前序遍历的算法。这个方法的思想是在遍历过程中沿着结点的左子女或右子女方向“下降”时,临时改变其leftChild或rightChild的值,使之指向该结点的父结点,从商为以后的“上升”提供路径;在上升的过程中将结点的leftChild或rightChild的值恢复原来的值。为了在上升的过程中区分是从该结点的左子树上升的还是从右子树上升的,在结点中设置一个tag标志。进人算法时,所有结点的tag设为0,当遍历过程中进入结点的左子树时,将该结点的tag置为l、从左子树退出进人右子树时再将该结点的tag置为0.

点击查看答案
第5题
设一棵二义树的存储表示是二叉链表、编写一个用Robson方法实现二叉树后序遍历的算法。Robson方法遍历二叉树的特点如下:

(1)沿袭5-60题使用逆转链遍历二叉树的思想。

(2)不使用tag标志,而是用内嵌的栈代替tag的作用。该内嵌的栈使用了叶结点作为栈的结构,没有另外定义栈的存储空间。

(3)利用栈解决在回溯时分辨究竟是从左子树还是右子树上升的问题,步骤是:

①当进入有非空左子树的结点的右子树时,将该结点的地址进栈。

②在回溯过程中如遇到结点的左、布子树都非空时,如果该结点就是存于栈顶的结点,则可判定当前是从该结点的右子树退回,该结点的右子女指针指向它的父结点;否则当前是从该结点的左子树退回,该结点的左子女指向它的父结点。

点击查看答案
第6题
单向散列函数即Hash函数。以下哪种性质不是散列函数的性质?()

A、多对一的特性

B、双向性

C、单向性

D、碰撞性

点击查看答案
第7题
逆向思维也称反向思维,是指用与通常考虑问题的方向相反的思考方法。
点击查看答案
第8题
下面函数是链表的插入算法,根据要求填空。 ListInsert(LinkList L, int i, ElemType e) //在带头结点的单链表L中第i个位置之前插入元素e。 { p=L; j=0; while(p&&j <i-1) {p="p-"> next; ++j;} if(!p||j>i-1) return ERROR; s=(LinkList)malloc(sizeof(LNode)); //请填空,要求将新结点插入到L中。 }
点击查看答案
第9题
下面函数是链表的删除算法,根据要求填空。 ListDelete(LinkList L, int i, ElemType *e) //在带头结点的单链表L中删除第i个元素,由e返回值。 { p=L; j=0; while(p->next&&j <i-1) {p="p-"> next; ++j;} if(!(p->next)||j>i-1) return ERROR; //请填空,要求删除并释放结点。 *e=q->data; }
点击查看答案
第10题
下面函数的功能是采用后接法建立带头结点的链表,请填空。 void CreateList_2(LinkList *L, int n) { L=(LinkList)malloc(sizeof(LNode)); L->next=NULL; q=L; for(i=1; i<=n; i++) { p="(LinkList)malloc(sizeof(LNode));" scanf(&p->data); } }
点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

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

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

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