首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
用单链表保存m个整数,结点的结构为:[data][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如
用单链表保存m个整数,结点的结构为:[data][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如
admin
2015-12-30
48
问题
用单链表保存m个整数,结点的结构为:[data][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如下:
则删除结点后的head为:
要求:
根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
选项
答案
算法实现 void func(PNODE h,int n) {PNODE p=h,r; int *q,m; q=(int*)malloc(sizeof(int)*(n+1));//申请n+1个位置的辅助空间 for(int i=0;i<n+1;i++)//数组元素初值置0 *(q+i)=0; while(p->link!=NULL) {m=p->link->data>0?p->link->data:-p->link->data; if(*(q+m)=0)//判断该结点的data是否已出现过 {*(q+m)=1;//首次出现 p=p->link;//保留 } else//重复出现 {r=p->link;//删除 p->link=r->link free(r), } } free(q); }
解析
转载请注明原文地址:https://kaotiyun.com/show/lKxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
对三国鼎立到隋朝重新统一全国这段历史时期的政局,叙述正确的是()。①只有西晋有过短暂的统一②大多数时间是多个政权分立、南北对峙的复杂政局③西晋、北魏、东晋都有过短暂的统一④除三国分立以外,其他时间基本上处于统
1933年5月,冯玉祥在张家口组织()。
中国历史上第一部资产阶级革命法典《临时约法》公布的时间是()。
基督教产生的时间是()。
简述两德统一的过程。(南京大学1999年世界近现代史真题)
如何全面分析十月革命的历史条件及特点?
詹天佑自主设计修建了中国第一条铁路是在()。
在蒙古向南扩张的同时,还发动了三次大规模的西征,三次西征中分别在位的大汗是()
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
阅读材料,回答以下问题:材料一:甘地认为,非暴力抵抗是印度争取摆脱殖民桎梏的唯一正确办法;同时,他认为非暴力抵抗并不意味着对外国统治和其他罪恶的屈服。他写道:“我深信假如只有在怯懦和暴力两者之间加以选择时,我将劝人选择暴力……我宁愿要印度用暴力来保护自己
随机试题
有18名专家参与某地区学生升学率达到95%的德尔菲预测,调查的第二轮的结果为:5,5,5,6,6,6,6,6,7,7,7,8,8,8,9,9,9,9。求它们的中位数和上、下四分位数。
糖皮质激素用于治疗慢性炎症的目的是
根据相关法律规定,在行政决定作出前,当事人有权就下列哪些情形要求举行听证?()
带传动中,皮带上最大应力发生在()的接触点处。
依我国法律规定,下列关于留置权的说法不正确的是()。
可划入一国国际储备的有()。
下面谱例出自哪位作曲家的作品?()
在VisualFoxPm中进行参照完整性设置时,要想设置成“当更改父表中的主关键字段或候选关键字段时,自动更改所有相关子表记录中的对应值”,应选择()。
Itwasnot______1982thathewentbacktoAmerica.
GeneticallyModifiedFoods—FeedtheWorld?Ifyouwanttosparkaheateddebateatadinnerparty,bringupthetopicabou
最新回复
(
0
)