#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做一个搜索引擎(Pylucene)的实例代码
  2. matlab用辛普森公式求积分_如何用Excel公式求最大值对应的行列序号
  3. Win的phpstudy安装VC报错
  4. 预算里怎样计算机械作业费,用实物法编制施工图预算的完整步骤有( )等。 A.计算工程量B.套用预算人工、材料、机械 - 作业在线问答...
  5. 【工具大道】UML的点点滴滴
  6. zabbix历史数据mysql_处理Zabbixl历史数据库解决办法三---使用MySQL中间件为Zabbix数据库扩容...
  7. [转] React风格的企业前端技术
  8. everything is tools!
  9. D star路径搜索算法
  10. JavaIO编程之ReadLine
  11. 智能家居控制系统完整设计方案
  12. Matlab基础(5)——符号运算
  13. POI使用模板制作PPT,替换内容时原样式丢失问题的解决办法
  14. gyb优化事项(1)
  15. Android 10.0锁屏界面默认不显示Notification通知
  16. 电脑开机后进不了系统怎么办?
  17. 水下图像增强算法研究
  18. IoT技术概览(postscapes)
  19. 专访中国信通院云大所栗蔚:ChatGPT的成功揭示了云计算作为数字世界“中枢神经”的价值
  20. 安装rhel-server-7.2系统

热门文章

  1. php清空dns缓存文件,dns清空-windows刷新本地DNS缓存的几种方法
  2. 16_非监督学习、k-means 4阶段、kmeans API、Kmeans性能评估指标、案例
  3. SQLite 数据类型(http://www.w3cschool.cc/sqlite/sqlite-data-types.html)
  4. ip中继对接_IP软交换系统解决方案
  5. python对字典的基本操作(遍历、排序)总结,Python字典操作简明总结
  6. 怎样制作html插件,自己动手制作一个Chrome插件 入门级
  7. linux里创建表空间和用户名,linux下oracle的启动和创建表空间用户
  8. 使用proc文件系统
  9. Mac免费使用MAMP搭建本地开发环境
  10. 27.CSS3文本效果