01./*
02.Copyright (c)2015,烟台大学计算机与控制工程学院
03.All rights reserved.
04.文件名称:项目3--单链表应用(2).cpp
05.作 者:刘魏乐天
06.完成日期:2015年11月2日
07.版 本 号:v1.0
08.
09.问题描述:2、已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,
10. 请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。
11.输入描述:若干数据 。
12.程序输出:链表合并后的数据。
13.*/
01.int main()
02.{
03. LinkList *A, *B;
04. int i;
05. ElemType a[]= {1,3,2,9};
06. ElemType b[]= {0,4,7,6,5,8};
07. InitList(A);
08. for(i=3; i>=0; i--)
09. ListInsert(A, 1, a[i]);
10. InitList(B);
11. for(i=5; i>=0; i--)
12. ListInsert(B, 1, b[i]);
13. Link(A, B);
14. printf("A:");
15. DispList(A);
16. DestroyList(A);
17. return 0;
18.}
19.
20.
21.void Link(LinkList*& l,LinkList *&m)
22.{
23. LinkList *p;
24. p=l;
25. while(p->next!=NULL)
26. {
27. p=p->next;
28. }
29. p->next=m->next;
30. free(m);
31.}
知识点总结:
链表的合并。
学习心得:
对于链表的合并需要知道第二个链表的头指针是不需要的,需要释放掉。