• 用单链表实现算法2.1


    // algo2-12.cpp 用单链表实现算法2.1,仅有4句与algo2-1.cpp不同
    #include"c1.h"
    typedef int ElemType;
    #include"c2-2.h" // 此句与algo2-1.cpp不同(因为采用不同的结构)
    #include"bo2-2.cpp" // 此句与algo2-1.cpp不同(因为采用不同的结构)
    #include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数
    void Union(LinkList La,LinkList Lb) // 算法2.1,此句与algo2-1.cpp不同
    { // 将所有在线性表Lb中但不在La中的数据元素插入到La中
    ElemType e;
    int La_len,Lb_len;
    int i;
    La_len=ListLength(La); // 求线性表的长度
    Lb_len=ListLength(Lb);
    for(i=1;i<=Lb_len;i++)
    {
    GetElem(Lb,i,e); // 取Lb中第i个数据元素赋给e
    if(!LocateElem(La,e,equal)) // La中不存在和e相同的元素,则插入之
    ListInsert(La,++La_len,e);
    }
    }
    void main()
    {
    LinkList La,Lb; // 此句与algo2-1.cpp不同(因为采用不同的结构)
    int j;
    InitList(La);
    //if(i==1) // 创建空表La成功
    for(j=1;j<=5;j++) // 在表La中插入5个元素
    ListInsert(La,j,j);
    printf("La= "); // 输出表La的内容
    ListTraverse(La,print);
    InitList(Lb); // 也可不判断是否创建成功
    for(j=1;j<=5;j++) // 在表Lb中插入5个元素
    ListInsert(Lb,j,2*j);
    printf("Lb= "); // 输出表Lb的内容
    ListTraverse(Lb,print);
    Union(La,Lb);
    printf("new La= "); // 输出新表La的内容
    ListTraverse(La,print);
    }

    运行的结果如下:

    /*
    La= 1 2 3 4 5
    Lb= 2 4 6 8 10
    new La= 1 2 3 4 5 6 8 10
    */


  • 相关阅读:
    IP分片与TCP分片的考虑
    snort-2.9.16在ubuntu16.04环境下的安装,配置与运行
    snort 程序流程图
    宿主机、容器、真实时间不一致问题
    ffi动态链接库的使用
    docker容器中nginx日志的分割
    dockerFile指令详解
    关于如何查看多网卡物理机中网卡序号与物理网卡的对应该关系
    Curl相关参数意义及使用方式
    docker 基础入门
  • 原文地址:https://www.cnblogs.com/KongkOngL/p/3923431.html
Copyright © 2020-2023  润新知