首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O
admin
2017-11-14
55
问题
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O(m+n+p),其中m、n和p分别为3个表的长度。
选项
答案
typedef struct LNode{ int data; struct LNode * next; }*Linkedlist; LinkedList Common(LinkedList A,B,C){ //链表A、链表B和链表C是三个带头结点且结点元素值非递减排列的有序表 //本算法使链表A仅留下三个表均包含的结点,且结点值不重复,释放所有结点 Linkedlist*pa,*pb,*pc,*pre,*u; pa=A->next;pb=B->next;pc=C->next; //pa,pb,pc分别是链表A,B,C的工作指针 pre=A: //pre是链表A中当前结点的前驱结点的指针 while(pa&&pb&&pc){ //当链表A,B和C均不空时,查找三链表共同元素 while(pa&&pb) if(pa一>data
data){u=pa;pa=pa->next;free(u);}//结点元素值小时,后移指针 else if(pa一>data>pb一>data)pb=pb一>next; else if(pa&&pb){ //处理链表A和B元素值相等的结点 while(pc&&pc一>data
data)pc=pc一>next; if(pc){ //pc当前结点值与pa当前结点值不等,pa后移指针 if(pc->data>pa一>data){u=pa;pa=pa一>next;free(u);} else{ //pc、pa和pb对应结点元素值相等 if(pre==A) f pre->next=pa;pre=pa;pa=pa一>next;} //结果表中第一个结点 else if(pre一>data==pa一>data) //(处理)重复结点不链入链表A {n=pa;pa=pa一>next;free(n);} else{pre->next=pa;pre=pa;pa=pa一>next;}//将新结点链入链表A pb=pb->next:pc=pc->next; //链表的工作指针后移 }//else pc,pa和pb对应结点元素值相等 } if(pa==null)pre->next=null; //原链表A已到尾,置新链表A表尾 else{ //处理原链表A未到尾而链表B或链表c到尾的情况 pre一>next=null: //置链表A表尾标记 while(pa!=null){u=pa;pa=pa一>next;free(u);}//删除原链表A剩余元素 } } } }
解析
转载请注明原文地址:https://kaotiyun.com/show/e3Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列不属于战时共产主义政策内容的是()。
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
1901年6月,发表《立宪法议》,首先提出君主立宪要求的是()。
陈云作《目前财政经济的情况和克服困难的若干办法》的重要讲话,分析当前财政经济方面的主要困难,提出克服困难的六点意见的会议是()。
人民解放军转入战略进攻的方向为大别山地区,主要是由于()。①大别山战略位置重要②大别山有良好的群众基础③占据大别山可以从根本上改变战局
美国首次提出争夺世界霸权的纲领性文件是()。
编写判定给定的二叉树是否是二叉排序树的函数。
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
设计一个算法,求无向图G(采用邻接表存储)的连通分量个数。
随机试题
形成肝风内动的原因可有()(1993年第128题)
在一瞬间人的意识所能指向并集中的客体的数量,是注意的哪一种品质【】
男性,42岁,左下腹痛1个月,便血,里急后重,下列哪项检查:较简便,有诊断意义
位于第三脑室顶的结构是
根尖狭窄部距牙根尖部的距离约为
原发性不孕症的定义是
有关新生儿肺炎,不正确的概念是
简述《普通高中地理课程标准(实验)》“评价建议”中“对情感、态度与价值观形成的评价”的内容。
可交换债券
文化现象
最新回复
(
0
)