首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O
已知3个带头结点的线性链表A、B、C中的结点均依元素值自小至大非递减排列(可能存在两个以上值相同的结点),编写算法对链表A进行如下操作:使操作后的链表A中仅留下3个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用结点。限定算法的时间复杂度为O
admin
2017-11-14
68
问题
已知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
学硕统考专业
相关试题推荐
下列不属于战时共产主义政策内容的是()。
以下选项不属于希腊城邦的形成方式和途径的是()。
下列事件:①上党战役②九三学社成立③“一二·一”惨案④《双十协定》签订,按照时间顺序排列正确的是()。
美国工业革命的有利条件包括()。①美国自然资源丰富②独立战争后,美国创立了资产阶级共和制度③地理位置优越,远离动乱的欧洲④拥有潜在的广阔的国内市场
简要分析英、法20世纪30年代绥靖法西斯国家的表现及影响。
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式。最早提出这种方式的是()。
下列不属于苏联高度集中的经济政治体制产生的条件的是()。
唐朝流传着一句“三十老明经、五十少进士”,这说明了唐代科举()。
试编写一个非递归算法,实现求以二叉链表存储的二叉树中q结点的祖先。
随机试题
在窗体上有一个命令按钮Command1,编写事件代码如下:PrivateSubCommandl_Click()DimdlAsDateDimd2AsDated1=#12/25/2009#d2=
建设中国特色社会主义,就是要建设
根据论证所用的推理形式不同,可把论证分为_______、______和______。
诉讼时效因当事人一方提出要求而中断,下列哪一情形不能产生诉讼时效中断的效力?(2009/3/5)
李先生想要办理住房贷款,目前他可以到哪家机构办理该业务?()
物业管理服务利润总额,包括()。
在质量管理体系认证活动中,认证合同的内容至少应包括()。
下面是一位同学解不等式的过程,请据此回答问题。解不等式:解:去分母,得2(2x+1)>1+3(4x-1)去括号,得4x+2>1+12x-3移项、合并同类项,得-8x>-4系数化为1,得x>问题:为了避免出现这些错误,教师在讲课过程中应如何讲
请举例说明知觉的恒常性及其影响因素。
在考生文件夹下有一个工程文件sjt5.vbp。其窗体中有一个名称为Text1的文本框数组,下标从0开始。程序运行时,单击“产生随机数”按钮,就会产生10个3位数的随机数,并放入Text1数组中,如图3—183(a)所示;单击“重排数据”按钮,将把Text1
最新回复
(
0
)