数据结构线性表习题(一)
来源:互联网 发布:淘宝聚划算秒杀 编辑:程序博客网 时间:2024/05/16 17:05
已知三个带头结点的线性链表A,B,C中的结点均依元素值从小向大递减排列,编写算法对A表进行如下操作:使操作后的链表A中仅留下三个表中均包含的数据元素的结点,且没有值相同的结点,并释放所有无用的结点。算法时间复杂度为O(m+n+p),为m,n,p三表长度
设计思路:留下三个表中的公共数据,首先查找两表A、B的公共数据,然后去C中找有无该数据。
设计思路:留下三个表中的公共数据,首先查找两表A、B的公共数据,然后去C中找有无该数据。
代码:
void Common(LinkList A,LinkList B,LinkList C){pa=A->next;pb=B->next;pc=C->next;pre=A;while(pa&&pb&&pc){while(pa&&pb){if(pa->data<pb->data){u=pa;pa=pa->next;free(u);}else if(pa->data>pb->data){pb=pb->next;}else if(pa&&pb){while(pc&&pc->data<pa->data){pc=pc->next;}if(pc){if(pc->data>pa->data){u=pa;pa=pa->next;free(u);}else{if(pre==A){pre->next=pa;pre=pa;pa=pa->next;}else if(pre->data==pa->data){u=pa;pa=pa->next;free(u);}else {pre->next=pa;pre=pa;pa=pa->next;}pb=pb->next;pc=pc->next;}}}}}if(pa==NULL){pre->next=NULL;}else{pre->next=NULL;while(pa!=NULL){u=pa;pa=pa->next;free(u);}}return A;}
- 数据结构线性表习题(一)
- 数据结构习题--线性表
- 数据结构线性表习题(二)
- 线性表习题一
- 数据结构习题之线性表
- 数据结构习题答案--线性表
- 数据结构(一)---线性表
- 数据结构(一)线性表
- [数据结构]线性表(一)
- 【数据结构】线性表(一)
- 数据结构(一)-----线性表
- 数据结构(六)线性表(一)
- C#数据结构篇(一)线性表
- C#数据结构(一)----线性表
- 数据结构——线性表(一)
- 数据结构之线性表(linear_list)一
- C语言数据结构--(线性表一)
- 数据结构之线性表(一)
- 配置Ubuntu
- 关于视频显示
- CentOS国内镜像
- 点心盒同步:云端手机管家
- Hadoop单机环境配置
- 数据结构线性表习题(一)
- 设计SQL时应该考虑的性能问题
- 6410的启动过程
- 下载音乐文件
- mesa openGL 安转和编译
- 迅雷2011-10-19日笔试题(重庆站)
- 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[2] - 透视变换(cvWarpPerspective)
- qt creater gtk 入门
- C#中序列化存储和传输及反序列化对象