线性表【项目 - 求集合并集C语言】(带注释)
#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语言】(带注释)相关推荐
- 线性表【项目 - 求集合并集C语言】
#include <stdio.h> #define MAXSIZE 50 //您也可以使用 typedef 来为用户自定义的数据类型取一个新的名字.例如,您可以对结构体使用 typede ...
- 数据结构上机实践第三周项目3- 求集合并集
[项目 - 求集合并集] 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员.设计算法,用函数unionList(List LA, List LB ...
- 第3周实践项目3 求集合并集
main.cpp #include "list.h" #include <stdio.h> void unionList(SqList *LA, SqList *LB, ...
- 1、顺序存储:线性表/栈/队列:理论+C语言实现--详细
文章目录 Data_Structure 绪论 1.逻辑结构 1.集合结构 2. 线性结构 3.树形结构 4.图形结构 2.物理结构 1.顺序存储结构 2.链式存储结构 1 线性表的顺序存储 1.1 线 ...
- 遗落在时光里的静态链表(线性表的静态存储)---C语言版
目录 静态链表的定义 静态链表的操作 初始化 求表长 分配空间 回收空间 插入操作 删除操作 其他操作 完整源代码 总结一下 众所周知,指针是c语言的灵魂,指针使得链表的实现简单明了起来. 但是问题来 ...
- 线性表(顺序存储结构)C语言
文章目录 前言 一.线行表的顺序存储结构 二.代码 三.运行结果 前言 最近在学数据结构,想在这里记录一下,也方便以后查找 一.线行表的顺序存储结构 线性表分为两种存储结构,顺序存储与链式存储. 顺序 ...
- c语言线性表的逆转,数据结构(C语言)设有一个线性表E,将线性表逆置,要求逆线性表占? 爱问知识人...
输入数据,输出数据,及线性表的长度, 询问是否查找数据,若查找则由用户输入需查找的数据,显示此数据在线性表中的位置(第几个) */ #include #include #define NULL 0 # ...
- 【数据结构】线性表的顺序存储结构(c语言实现)
最近在复习数据结构,参考资料为王道数据结构 /*********************************************************//*Project: sequence ...
- 线性表顺序存储的基本操作方法(C语言)
好久没有用C了,呵呵,差不多有2年了,哎,当时努力学C的时候还是因为考研的呢,考上之后就再没有用了.现在重新拿起,感觉不一样. 来个简单的,实现严蔚敏版数据结构中ADT规定的基本操作: 首先一个定义常 ...
最新文章
- 在哪里能收到python实例代码-用python做一个搜索引擎(Pylucene)的实例代码
- matlab用辛普森公式求积分_如何用Excel公式求最大值对应的行列序号
- Win的phpstudy安装VC报错
- 预算里怎样计算机械作业费,用实物法编制施工图预算的完整步骤有( )等。 A.计算工程量B.套用预算人工、材料、机械 - 作业在线问答...
- 【工具大道】UML的点点滴滴
- zabbix历史数据mysql_处理Zabbixl历史数据库解决办法三---使用MySQL中间件为Zabbix数据库扩容...
- [转] React风格的企业前端技术
- everything is tools!
- D star路径搜索算法
- JavaIO编程之ReadLine
- 智能家居控制系统完整设计方案
- Matlab基础(5)——符号运算
- POI使用模板制作PPT,替换内容时原样式丢失问题的解决办法
- gyb优化事项(1)
- Android 10.0锁屏界面默认不显示Notification通知
- 电脑开机后进不了系统怎么办?
- 水下图像增强算法研究
- IoT技术概览(postscapes)
- 专访中国信通院云大所栗蔚:ChatGPT的成功揭示了云计算作为数字世界“中枢神经”的价值
- 安装rhel-server-7.2系统
热门文章
- php清空dns缓存文件,dns清空-windows刷新本地DNS缓存的几种方法
- 16_非监督学习、k-means 4阶段、kmeans API、Kmeans性能评估指标、案例
- SQLite 数据类型(http://www.w3cschool.cc/sqlite/sqlite-data-types.html)
- ip中继对接_IP软交换系统解决方案
- python对字典的基本操作(遍历、排序)总结,Python字典操作简明总结
- 怎样制作html插件,自己动手制作一个Chrome插件 入门级
- linux里创建表空间和用户名,linux下oracle的启动和创建表空间用户
- 使用proc文件系统
- Mac免费使用MAMP搭建本地开发环境
- 27.CSS3文本效果