首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
用单链表保存m个整数,结点的结构为:[data][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如
用单链表保存m个整数,结点的结构为:[data][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如
admin
2015-12-30
87
问题
用单链表保存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
学硕统考专业
相关试题推荐
蒙古军西征之后,罗斯处于()的控制之下。
表明第一次国共合作全面破裂的事件是()。
抗日战争全面爆发后,中国军队取得第一次重大胜利的战役是()。
人类历史上第一次完成从西欧绕非洲到东方航行的航海家是()。
对元代“腹里”管辖区域分类正确的一项是()。①山东②山西③河北④陕西⑤蒙古
解析两个战场的地位、作用及相互关系。
()是一部上起传说中的黄帝,下迄汉武帝时期的中国通史,是中国历史上第一部内容完整、结构周密的历史著作。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
1901年6月,发表《立宪法议》,首先提出君主立宪要求的是()。
设有一个双向链表h,每个结点中除有prior,data和next三个域外,还有一个访问频度域freq,在链表被起用之前,每个结点中的freq域都被初始化为零。每当进行LocateNode(h,x)运算时,令元素值为x的结点中freq域中的值加一,并调整表中
随机试题
对行政管理学作为一个相对独立的学科的产生具有决定性影响作用的学术研究有
湿热下注型肛瘘宜选:阴液亏虚型肛瘘首选:
20cm水模中心测得的CT值标准偏差范围应是
根据《国际海洋法公约》,下列对于大陆架的说法正确的是:
下列各项中属于另类投资的是()。Ⅰ.权益资产Ⅱ.固定收益资产Ⅲ.对冲基金Ⅳ.私募股权
下列各项中,影响固定资产投资项目现值指数高低的有()。
某香港旅游团一游客不慎丢失了《港澳居民来往内地通行证》,导游应协助其到()挂失。
数据库管理系统DBMS和操作系统OS之间的关系为______________。
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);其中buffer代表的是
中华民族的传统文化博大精深、源远流长。早在2000多年前,就产生了以孔孟为代表的儒家学说和以老庄为代表的道家学说,以及其他许多在中国思想史上有地位的学说流派,这就是有名的“诸子百家”。从孔夫子到孙中山,中华名族传统文化有它的许多珍贵品质,许多人民性和民主性
最新回复
(
0
)