【第四周项目3】单链表应用(二)

来源:互联网 发布:主人网络关闭了怎么办 编辑:程序博客网 时间:2024/06/06 20:51
/*Copyright (c)2017,烟台大学计算机与控制工程学院        All rights reserved.        文件名称:11.cpp        作    者:尚文哲     完成日期:2017年9月27日         问题描述:2、已知L1和L2分别指向两个单链表的头结点,且已知其长度分别为m、n,            请设计算法将L2连接到L1的后面。实现这个算法,完成测试,并分析这个算法的复杂度。  输入描述:若干数据 。   程序输出:链表中的数据及逆序拍好后的数据。   */
#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;  }