第四周-项目3 - 单链表应用(2)拼接

来源:互联网 发布:西方建筑欣赏知乎 编辑:程序博客网 时间:2024/06/08 08:42

问题及代码:

利用项目一的算法库实现。

/*   *Copyright(c)2015,烟台大学计算机与控制工程学院   *All right reserved.   *文件名称:789.cpp   *作者:程昂   *完成日期;2015年9月22日   *版本号;v1.0   *   *问题描述:已知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;}

输出及结果:



分析:通过把L2所指的头结点放到L1所指链表的尾节点。

0 0
原创粉丝点击