首页 > 大学本科
题目内容 (请给出正确答案)
[主观题]

假定用一个循环链表来实现一个有序表,并让指针head指向具有最小关键码的结点。指针current初始

时等于head,每次搜索后指向当前搜索到的结点,但如果搜索不成功则current重置为head.试编写一个函数search(head,current、key)实现这种搜索。当搜索成功时数返回被搜索到的结点地址,若搜索不成功则函数返回空指针。请说明如何保持指针current以减少搜索时的平均搜索长度.

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“假定用一个循环链表来实现一个有序表,并让指针head指向具有…”相关的问题
第1题
考虑用双向链表来实现一个有序表,使得能在这个表中进行正向和反向搜索。若指针p总是指向最后成
功搜索到的结点,搜索可以从p指示的结点出发沿任一方向进行。试根据这种情况编写一个函数search(head,p,key),检索具有关键码值key的结点,并相应地修改p。最后请给出搜索成功和搜索不成功时的平均搜索长度。

点击查看答案
第2题
在头指针为head且表长大于1的循环链表中,指针P指向表中某个结点,若__________,则*p的直接后继是在头指针为head且表长大于1的循环链表中,指针P指向表中某个结点,若__________,则*p的直接后继是尾结点。
点击查看答案
第3题
编写一个算法来交换单链表中指针p所指结点与其后继结点,head是该链表的头指针,p指向该链表中某一
结点。

点击查看答案
第4题
假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某结点的指针,试编写算法在
链表中删除指针s所指结点的前驱结点。
点击查看答案
第5题
在头指针为head且表长大于1的循环链表中,指针P指向表中某个结点,若__________,则*p的直接后继是
尾结点。【重庆大学2005】

点击查看答案
第6题
在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p→*next→*next=head,则 ()

A.p指向头结点

B.p指向尾结点

C.*p的直接后继是头结点

D.*p的直接后继是尾结点

点击查看答案
第7题
从左到右及从右到左遍历一个单链表是可能的,其方法是在从左向右遍历的过程中将连接方向逆转,
如图2-3所示。图中的指针p指向当前正在访问的结点,指针pr指向指针p所指结点的左侧的结点。此时,指针p所指结点左侧的所有结点的链接方向都已逆转。

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

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

点击查看答案
第8题
在一个单链表中,已知指针p指向其中的某个结点,若在该结点前插入一个由指针s指向的结点,则需执行(

在一个单链表中,已知指针p指向其中的某个结点,若在该结点前插入一个由指针s指向的结点,则需执行()。 【北京理工大学2006九、4(1分)】

A.s->next=p->next;p->next=s;

B.p->next=s;s->next=p;

C.r=p->next;p->next=s;s->next=r;

D.仅靠已知条件无法实现

点击查看答案
第9题
假设以循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设队头指针),试编写相应的创建

假设以循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设队头指针),试编写相应的创建空队列、入队列和出队列的算法。

点击查看答案
第10题
已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的

已知一个有序单链表(从小到大排列),表头指针为head,编写一个函数向该单链表中插入一个元素为x的节点,使插入后该单链表仍有序。

点击查看答案
退出 登录/注册
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改