题目描述 :
假设有两个集合A和B,分别用两个线性表LA和LB表示,即线性表中的数据元素为集合中的元素,利用线性表的基本运算设计一个算法求一个新的集合C=AUB,即将两个集合的并集放在线性表LC中。
题解:
先初始化线性表LC,即创建一个空的线性表LC,将LA的所有元素复制到LC中,然后扫描线性表LB,将LB中不属于LA的元素插入到LC中,LA,LB,和LC均为SQList类型变量,假设SqList是一个已经实现了的线性表数据结构。
要点:
灵活运用线性表的基本运算
C++代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define MaxSize 50
typedef struct
{
int data[MaxSize];
int length;
} SqList;
void InitList(SqList *&L) // 初始化
{
L=(SqList *)malloc(sizeof(SqList));
L->length=0;
}
void CreateList(SqList *&L,int a[],int n) // 集合到线性表
{
int i=0,k=0;