首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求: 根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
admin
2019-08-15
41
问题
已知一个带有头结点的单链表L,其结点结构由两部分组成:数据域data,指针域link。设计一个算法,以最高效的方法实现在单链表中删除数据域最小值结点。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法的设计如下: typedef struct LNode{ int data; struct LNode:*next; }LNode *Linkedlist; LinkedList Delete(LinkedList L){//L是带头结点的单链表,本算法删除其最小值结点 Linkedlist*P,*q,*pre; p=L一>next; //p为工作指针,指向待处理的结点。假定链表非空 pre:L; //pre指向最小值结点的前驱 q=p; //q指向最小值结点,初始假定第一元素结点是最小值结点 while(p->next!=null){ if(p一>next一>data<q一>data){pre=P; q=P一>next;} //查最小值结点 P=P->next: //指针后移 } pre一>next=q->next: //从链表上删除最小值结点 free(q); //释放最小值结点空间 }//结束算法delete
解析
转载请注明原文地址:https://jikaoti.com/ti/i3GjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
三国时期,魏、蜀、吴三国灭亡的历史顺序是()。
二里头文化是我国考古史上的重大发现,具有重大的意义。根据所学知识,回答问题:对于二里头文化的发现的意义,下列选项表述最准确的是()
IP数据报的报文格式如下图所示。在没有选项和填充的情况下,报头长度域的值为()。
某机字长32位,它的存储容量为256MB,按字节编址,则它的寻址范围大小为()。
某网络的拓扑结构由下图所示,其中顶点表示路由器。该网络的路由器采用了链路状态路由算法,在某一时刻各个路由器发送的链路状态如下:A:B(1),D(3)B:A(1),D(1),C(3),E(5)C:B(3),D(1)D:A(3),B(1
若线性表最常用的运算是查找第i个元素及其前驱的值,则采用()存储方式节省时间。
已知二叉树采用二叉链表方式存放,要求返回二叉树T的后序序列中的第一个结点的指针,是否可不用递归且不用栈来完成?请简述原因。
设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳的表项的数目是()。
已知L为没有头结点的单链表中第一个结点的指针,每个结点数据域存放一个字符,该字符可能是英文字母字符或数字字符或其它字符,编写算法构造三个以带头结点的单循环链表表示的线性表,使每个表中只含同一类字符。(要求用最少的时间和最少的空间)。
进程和程序的本质区别是()。
随机试题
设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为()。
关于胆石症的叙述,不正确的是
一项临床科研设计的三个组成部分是
煮炉的目的是()。
在水生生物洄游通道、通航或者竹木流放的河流上修建永久性拦河闸坝,建设单位应当同时修建(),或者经国务院授权的部门批准采取其他补救措施。
年度终了,各种账户在结转下年、建立新账后,一般都要把旧账送交主办会计集中统一管理。()
职工田某接受他人赠送房屋一套,该房屋原来建筑成本6万元,目前市场价26万元,契税税率为5%,则田某应缴契税()万元。
学习效果和学习动机之间存在()。
构造方法何时被调用?()
A、Heisunabletotalk.B、Hedoesn’tlikehisclassroom.C、Hecan’tfindhisofficekey.D、Hehasmisplacedsomeexams.AWhatis
最新回复
(
0
)