#include <stdio.h>
#define MAXSIZE 50

//您也可以使用 typedef 来为用户自定义的数据类型取一个新的名字。例如,您可以对结构体使用 typedef 来定义一个新的数据类型名>字,然后使用这个新的数据类型来直接定义结构变量
//typedef struct Books
//{
//   char  title[50];
//      char  author[50];
//         char  subject[100];
//            int   book_id;
//            } Book;
//来源:http://www.runoob.com/cprogramming/c-typedef.html
typedef struct node
{
int data[MAXSIZE];
int length;
}SeqLink;
int len1;
int len2;
int arr[MAXSIZE];
void SeqLinkInit(SeqLink *L)//初始化
{
    L->length = -1;
}
int CreatSeqLink(SeqLink *L)//创建顺序表
{
    while (1)
    {
    if (MAXSIZE-1 < ++L->length)
    {
    printf("表满!\n");
    return 0;
    }
    scanf("%d", &L->data[L->length]);
    if (0 == L->data[L->length])
    {
    break;
    }
    }
    return L->length;
}
void A(SeqLink *L1, SeqLink *L2)//求交集
{
    int i, j;
    int count = 0;
    for (i=0; i<len1; i++)
    {
    for (j=0; j<len2; j++)
    {
    if (L1->data[i] == L2->data[j])
    {
    arr[count++] = L1->data[i];
    break;
    }
    }
    }
}
void B(SeqLink *L1, SeqLink *L2)//求并集
{
    int i, j;
    int num;
    int flag;
    int count = 0;
    for (i=0; i<len1; i++)
    {
    arr[count++] = L1->data[i];
    }
    num = count;
    for (i=0; i<len2; i++)
    {
    flag = 1;
    for (j=0; j<num; j++)
    {
    if (arr[j] == L2->data[i])
    {
    flag = 0;
    break;
    }
    }
    if (1 == flag)
    {
    arr[count++] = L2->data[i];
    }
    }
}
void Output(void)//输出
{
    int i;
    for (i=0; arr[i]!=0; i++)
    {
    printf("%d ", arr[i]);
    }
    printf("\n");
}
void main(void)
{
    SeqLink L1;
    SeqLink L2;
    SeqLinkInit(&L1);
    SeqLinkInit(&L2);
    printf("请输入集合A:(按0结束输入)\n");
    len1 = CreatSeqLink(&L1);
    printf("请输入集合B:(按0结束输入)\n");
    len2 = CreatSeqLink(&L2);
    A(&L1, &L2);
    printf("A与B交集为:\n");
    Output();
    B(&L1, &L2);
    printf("A与B并集为:\n");
    Output();
}

线性表【项目 - 求集合并集C语言】相关推荐

  1. 线性表【项目 - 求集合并集C语言】(带注释)

    #include <stdio.h> #define MAXSIZE 50 //您也可以使用 typedef 来为用户自定义的数据类型取一个新的名字.例如,您可以对结构体使用 typede ...

  2. 数据结构上机实践第三周项目3- 求集合并集

    [项目 - 求集合并集] 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员.设计算法,用函数unionList(List LA, List LB ...

  3. 第3周实践项目3 求集合并集

    main.cpp #include "list.h" #include <stdio.h> void unionList(SqList *LA, SqList *LB, ...

  4. 1、顺序存储:线性表/栈/队列:理论+C语言实现--详细

    文章目录 Data_Structure 绪论 1.逻辑结构 1.集合结构 2. 线性结构 3.树形结构 4.图形结构 2.物理结构 1.顺序存储结构 2.链式存储结构 1 线性表的顺序存储 1.1 线 ...

  5. 遗落在时光里的静态链表(线性表的静态存储)---C语言版

    目录 静态链表的定义 静态链表的操作 初始化 求表长 分配空间 回收空间 插入操作 删除操作 其他操作 完整源代码 总结一下 众所周知,指针是c语言的灵魂,指针使得链表的实现简单明了起来. 但是问题来 ...

  6. 线性表(顺序存储结构)C语言

    文章目录 前言 一.线行表的顺序存储结构 二.代码 三.运行结果 前言 最近在学数据结构,想在这里记录一下,也方便以后查找 一.线行表的顺序存储结构 线性表分为两种存储结构,顺序存储与链式存储. 顺序 ...

  7. c语言线性表的逆转,数据结构(C语言)设有一个线性表E,将线性表逆置,要求逆线性表占? 爱问知识人...

    输入数据,输出数据,及线性表的长度, 询问是否查找数据,若查找则由用户输入需查找的数据,显示此数据在线性表中的位置(第几个) */ #include #include #define NULL 0 # ...

  8. 【数据结构】线性表的顺序存储结构(c语言实现)

    最近在复习数据结构,参考资料为王道数据结构 /*********************************************************//*Project: sequence ...

  9. 线性表顺序存储的基本操作方法(C语言)

    好久没有用C了,呵呵,差不多有2年了,哎,当时努力学C的时候还是因为考研的呢,考上之后就再没有用了.现在重新拿起,感觉不一样. 来个简单的,实现严蔚敏版数据结构中ADT规定的基本操作: 首先一个定义常 ...

最新文章

  1. python中用来占位_python 占位符
  2. oracle 最小系统,基于最小化CENTOS6.6最小化安装,oracle 11g 数据安装过程!
  3. spring集合的注入
  4. android studio 2.3 instant run,android studio 2.3 instant run not working
  5. OJ1072: 青蛙爬井(C语言)
  6. PML调用PDMS内核命令研究
  7. python数据导出excel_【python Excel】如何使用python将大量数据导出到Excel中的小技巧之一...
  8. 解决办法:对uncompress未定义的引用
  9. 三次hermite插值matlab,三次hermite插值
  10. docker源码编译安装步骤解析
  11. PS暂存盘已满怎么办
  12. 123457123457#0#-----com.yuming.TruckCarRun01--前拼后广--大卡车游戏cym
  13. 微型计算机中lo设备的含义是,专转本计算机 基础知识.doc
  14. linux系统etc什么意思,etc.是什么意思 linux下的etc是什么意思
  15. 端午小礼品:30 本技术书
  16. 剑指Offer——求1+2+3+...+n
  17. 四阶行列式如何降阶_四阶行列式怎么化成三阶的行列式,说详细点
  18. 学英语最有效的办法:模仿+重复!
  19. android的spinner字体控制
  20. 全球及中国印刷级高抗冲聚苯乙烯行业运行现状与投资趋势预测分析报告2022-2028年

热门文章

  1. sublime67linter-php,Sublime Text 3 搭建 React.js 开发环境
  2. 开发工程师面试自我介绍_30道经典面试题,靠它我在一线拿到了20k的前端开发工程师岗位...
  3. Android EditText密码框的可见性设置
  4. Sqoop(二)常用命令及常数解析
  5. dubbo控制中心部署,权重配置,以及管控台中各个配置的简单查看
  6. SQL基础操作_8_基础概念
  7. caffe学习:通过研读classification.cpp了解如何使用caffe模型
  8. R-FCN/Faster-rcnn使用snapshot继续训练
  9. 008 RestFul API 拦截器
  10. [日常] Go语言圣经--Channel习题