集合的交(线性表的应用)

本篇博客探讨如何使用线性表(顺序表或链表)来表示集合,并通过线性表操作求解两个集合的交集。具体描述了输入格式,包括两个集合的元素,以及输出交集的规则。示例展示了两个集合的交集计算过程。
摘要由CSDN通过智能技术生成

题目描述
用线性表(顺序表的实现或者链表的实现)来表示集合,利用线性表的操作实现集合的交操作。
输入
输入包含两行。
第一行表示集合A,该行的第一个数n是集合A的大小,随后有n个空格分开的整数,均为集合A的元素。
第二行表示集合B,该行的第一个数m是集合B的大小,随后有m个空格分开的整数,均为集合B的元素。
保证各个集合中不会有重复的元素。
输出
输出集合A和集合B的交集中的所有元素,用空格分开,元素输出的次序按在集合A中出现的次序。
如果交集为空,输出一空行。
样例输入 Copy
3 100 200 300
4 400 300 210 100
样例输出 Copy
100 300

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;

#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。

typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型

#define MAXSIZE 100 //顺序表可能达到的最大长度

typedef struct {
   
   ElemType *elem; //存储空间的基地址
   int length; //当前长度
} SqList;

Status InitList(SqList &L)   //算法2.1 顺序表的初始化
{
   
   //构造一个空的顺序表L
   L.elem = new ElemType[MAXSIZE]; //为顺序表分配一个大小为MAXSIZE的数组空间
   if(!L.elem)
      exit(OVERFLOW); //存储分配失败退出
   L.
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shuo..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值