第四周项目3——单链表应用(2)
2015-10-23 08:57
225 查看
项目名称:第四周项目3——单链表应用(2)
作者:江楠
完成时间:2015年10月23日
题目描述:
2、已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。
输入:
L1,L2两个单链表
输出:
插入后的单链表
(程序中利用了已经实现的单链表算法,头文件LinkList.h及其中函数的实现见单链表算法库)
运行结果:
作者:江楠
完成时间:2015年10月23日
题目描述:
2、已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。
输入:
L1,L2两个单链表
输出:
插入后的单链表
(程序中利用了已经实现的单链表算法,头文件LinkList.h及其中函数的实现见单链表算法库)
#include <stdio.h> #include <malloc.h> #include "linklist.h" void Link(LinkList *&L1, LinkList *&L2) { LinkList *p = L1; while(p->next != NULL) //找到L1的尾节点 p = p->next; p->next = L2->next; //将L2的首个数据节点连接到L1的尾节点后 free(L2); //释放掉已经无用的L2的头节点 } int main() { LinkList *A, *B; int i; ElemType a[]= {1,3,2,9}; ElemType b[]= {0,4,7,6,5,8}; InitList(A); for(i=3; i>=0; i--) ListInsert(A, 1, a[i]); InitList(B); for(i=5; i>=0; i--) ListInsert(B, 1, b[i]); Link(A, B); printf("A:"); DispList(A); DestroyList(A); return 0; }
运行结果:
相关文章推荐
- 第7周实践项目4 - 队列数组
- 第七周项目2 建立链队算法库
- 第八周项目3 - 顺序串算法
- Python中序列的切片和加号
- 高精度除法与求余C++版和java版
- 第六周项目4数制转换
- 第六周项目5—后缀表达式
- 第八周 项目5-计数的模式匹配
- 第6周项目4 数制转换
- 寄存器知识
- Objective - C 字符串 数组 字典 集合的基本使用
- 第六周项目4—数制转换
- 未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0, Culture=neutral, PublicKeyToken
- 九度OJ 1095:2的幂次方 (递归)
- 九度OJ 1095:2的幂次方 (递归)
- 2015-10-23 【项目5 - 计数的模式匹配】
- [MSSQL]磁盘空间&SQL日志&作业执行情况
- JavaScript权威指南_169_第17章_事件处理_17.3-调用事件处理程序-事件传播、事件取消
- 第7周项目3 - 负数把正数赶出队列
- hdu4258 斜率优化dp