实现算法

void MergeList(LinkList &LA,LinkList LB){m=ListLength(LA);n=ListLength(LB);for(i=1;i<=n;i++){GetElem(LB,i,e);if(!LocateElem(LA,e)){ListInsert(LA,++m,e);}}
}

具体实现代码

#include<stdio.h>
#include<stdlib.h>
//定义单链表
typedef struct LNode{int data;struct LNode *next;
}LNode,*LinkList;
//单链表初始化(带头节点)
void InitList(LinkList &L){L=(LinkList)malloc(sizeof(LNode));L->next=NULL;
}
//求单链表表长
int ListLength(LinkList L){LNode *p=L;int n=0;if(p->next==NULL){//如果单链表为空 return n;}while(p->next!=NULL){n=n+1;p=p->next;  }return n;
}
//取单链表第i个元素给e
bool GetElem(LinkList L,int i,int &e){LNode *p=L->next;int j=1;while(p&&j<i){p=p->next;++j;}if(!p||j>i){return false;}e=p->data;return true;
}
//单链表的按值查找
LNode *LocateElem(LinkList L,int e){LNode *p=L->next;while(p&&p->data!=e){p=p->next;}return p;
}
//在单链表后插入一个元素
void ListInsert(LinkList &L,int i,int e){LNode *s,*p=L;int j=0;while(p&&(j<i-1)){p=p->next;++j;}if(!p || j>i-1){return;}s=(LNode*)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;
}
//尾插法创建单链表
int CreateList_R(LinkList &L){InitList(L);LNode *s,*r=L;int x;printf("依次输入单链表中的元素,中间用空格隔开,9999为停止创建:");scanf("%d",&x);while(x!=9999){s=(LNode*)malloc(sizeof(LNode));s->data=x;r->next=s;r=s;scanf("%d",&x);}r->next=NULL;return 0;
}
//算法
void MergeList(LinkList &LA,LinkList LB){int m,n,e;m=ListLength(LA);n=ListLength(LB);for(int i=1;i<=n;i++){GetElem(LB,i,e);if(!LocateElem(LA,e)){ListInsert(LA,++m,e);}}
}
//输出单链表中的元素
void printList(LinkList L){LNode *p=L;p=p->next;while(p){printf("%d ",p->data);p=p->next;}printf("\n");
}
int main(){LNode *LA,*LB;printf("创建单链表LA:\n"); CreateList_R(LA);printf("输出单链表LA:");printList(LA);printf("创建单链表LB:\n");CreateList_R(LB);printf("输出单链表LB:");printList(LB);MergeList(LA,LB);//将单链表LB中的数字合并到LA中 printf("输出合并后的单链表:");printList(LA);return 0;
}

一般集合的合并(并集)相关推荐

  1. 集合运算—union(并集)、intersect(交集)和except(差集)

    一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...

  2. python set集合 交集,并集,差集,对称差集

    set集合测试打印如下: setA={1,2,3,4} setB={3,4,5,6} print(setA-setB) >>> {1, 2} - 取差集 print(setB-set ...

  3. java集合交运算_java中计算集合的交差并集示例代码

    前言 本文主要给大家简单介绍下,如何使用apache commons以及guava的类库来计算集合的交差并集.分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. maven com.go ...

  4. 多IP地址集合的合并

    客户要求:希望有个工具方法,可以将一个集合中的IP地址进行合并,例如:"1.1.1.1","1.1.1.2","1.1.1.3"可以合并成& ...

  5. python集合的交集并集差集对称差集操作

    补一下数学基础 集合间的数学操作交集: 调用函数intersection()或者 & ,原集合不发生变化并集: 调用函数union() 或者 | ,原集合不发生变化差集: 调用函数differ ...

  6. oracle 并集 时间_Oracle集合运算符 交集 并集 差集

    集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含'A'或含有'M' SQL> ...

  7. JAVA Hashset求集合的交集并集差集

    JAVA Hashset求集合的交集并集差集 Hashset是Set接口较为常见的一个子类,该子类的最大特点是不允许保存重复的元素,并且所有的内容都采用散列(无序)的方式进行存储. package c ...

  8. 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进

    ''' 来源:天善智能韦玮老师课堂笔记 ''' print("定义") a = 6 # python里无需定义 print("a=",a) a += 1 # + ...

  9. java8 stream流操作集合交集,差集,并集,过滤,分组,去重,排序,聚合等

    测试对象 public class Person {private String name;private Integer age;private Integer weight;public Pers ...

最新文章

  1. 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
  2. windows 7作为微软对抗Google的秘密武器
  3. 【poj3734】矩阵乘法求解
  4. 基于长度特征的三文鱼好sea bass的区分,sesbass 比三文鱼长
  5. rnn按时间展开_双向RNN的理解
  6. MySQL UNION 与 UNION ALL 语法与用法
  7. 【操作系统】多道程序的理解
  8. Stack Usage on Transfers to Interrupt and Exception Handling Routines
  9. WebAPI PUT,DELETE请求404
  10. 2021四川高考成绩位次查询,2021年四川高考位次查询及一分一段表排名查询
  11. android emulator虚拟设备之qemu pipe分析(三)
  12. android中jni数据加密,Android jni字符串如何加密
  13. java echarts 饼图_饼图 | ECharts 数据可视化实验室
  14. React脚手架搭建及创建React项目
  15. Win7远程桌面 提示 登录没有成功解决方法
  16. 真惭愧--连这样的小事都没有坚持下来
  17. SpCL阅读笔记:Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID
  18. 第一行代码-第二版(郭霖著)笔记三(UI控件)
  19. IntelliJ IDEA 简体中文字体
  20. 卷积神经网络(CNN)详细介绍及其原理详解

热门文章

  1. docker学习笔记2
  2. eter测试软件,AcCellerator高通量单细胞力学荧光测试分析系统
  3. 常见3大类放电管的区别与特性
  4. python idle使用教程_pythonidle中文教程
  5. 毕业两年的大专生程序员工作总结(java后端)
  6. 为什么现在的手机越来越重,越来越厚了?
  7. 免费iOS第三方推送工具Urban Airship使用教程
  8. 远程桌面连接软件轻松实现远程移动办公
  9. 【TensorFlow实战笔记】卷积神经网络CNN实战-cifar10数据集(tensorboard可视化)
  10. python人生的不同阶段_完整的人生有四个阶段,绝大多数人只活过一个阶段