首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知非空链表A,其指针是list,链表中的结点由两部分组成:数据域data和指针域link。设计一个算法,将链表中数据域值最小的那个链结点移到链表的最前面,在不额外申请新的链结点的情况下,使得算法时间复杂度和空间复杂度尽可能低。要求: 根据设计思想,采用
已知非空链表A,其指针是list,链表中的结点由两部分组成:数据域data和指针域link。设计一个算法,将链表中数据域值最小的那个链结点移到链表的最前面,在不额外申请新的链结点的情况下,使得算法时间复杂度和空间复杂度尽可能低。要求: 根据设计思想,采用
admin
2019-08-01
82
问题
已知非空链表A,其指针是list,链表中的结点由两部分组成:数据域data和指针域link。设计一个算法,将链表中数据域值最小的那个链结点移到链表的最前面,在不额外申请新的链结点的情况下,使得算法时间复杂度和空间复杂度尽可能低。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法的实现如下: typedef struct LNode{ char data; struct LNode*link; }*Linkedlist; LinkedList delinsert(LinkedList list){ //将链表中数据域值最小的那个结点移到链表的最前面 Linkedlist*P,*pre,*q; P=list->link; //p是链表的工作指针 pre=list; //pre指向链表中数据域最小值结点的前驱 q=P; //q指向数据域最小值结点,初始假定是第一结点 while(p->link!=null){ if(p一>link一>data
data){pre=P;q=p->link;} //找到新的最小值结点 P=p->link; } if(q!=list一>link){ //若最小值是第一元素结点,则不需再操作 pre一>link=q一>link;//将最小值结点从链表上摘下 q一>link=list一>link; //将q结点插到链表最前面 list一>link=q; } }//算法结束
解析
转载请注明原文地址:https://jikaoti.com/ti/xzGjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述罗马共和国衰亡的原因。
卡德纳斯改革的内容不包括()。
二战后世界经济走向统一的过程中,仍然存在着多样性,出现了“两种体系、三种国家”,下列不属于社会主义国家经济类型的是()。
中国共产党主张和平解决西安事变的主要目的是()。
结合史实,分析华北事变前后国民党对日本政策的变化及其主要原因。
甲骨文的发现是19世纪20世纪之交中国考古学最重要的发现之一,为重新认识三代的历史与文化奠定了基础,开辟了坦途,可称之为中国文化史的里程碑。根据所学知识回答问题:甲骨文的发现带有一些偶然性,()最先发现了甲骨文,这也成为了甲骨学史的开端
东汉末期的农民起义出现的新特点是()。
设二维数组A[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][O]的存储地址为860,则a[3][5]的存储地址为()。
网络拓扑结构如下图所示,与C相连接的节点B,E,D的权值分别是6,5,3。如果C收到的三张矢量表分别为:试根据距离矢量路由算法给出C所构造的路由表,并给出计算过程,路由表结构如下表所示。
随机试题
在工程实施过程中发生索赔事件以后,或者承包人发现索赔机会,索赔工作程序的第一步是要()。
A.糖皮质激素B.阿托品C.柳氮磺吡啶栓D.布桂嗪(强痛定)E.洛哌丁胺(易蒙停)克罗恩病患者排便次数过多时应选用
患儿,3岁。筋骨萎弱。发育迟缓,坐、立、行走、牙齿的发育都晚于同龄小儿,颈项萎软;目无神采,夜卧不安,舌淡。苔少。其证候是
甲公司为乙公司向丙公司借款作担保,在保证合同中没有明确约定保证的方式,根据有关法律规定,此保证属于()。
某公司董事会召开公司战略发展讨论会,拟将企业价值最大化作为财务管理目标,下列理由中,可以成立的有()。
下图为高中物理某教科书的一个实验,该实验在物理教学中用于学习的物理知识是()。
根据我国《宪法》的规定,下列有关公民基本权利的宪法保护的表述,错误的有()。
某企业分配给人事部的IP地址块为10.0.11.0/27,分配给企划部的IP地址块为10.0.11.32/27,分配给市场部的IP地址块为10.0.11.64/26,那么这三个地址块经过聚合后的地址为()。
在考生的文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm。在窗体上有两个命令按钮,其名称分别为Command1和Command2,标题分别为“写文件”和“读文件”,如图3—131(a)所示。其中“写文件”命令按钮事件过程用来建立一个
设有如下程序段:intx=2002,y=2003;printf("%d\n",(x,y);则以下叙述中正确的是
最新回复
(
0
)