语言:c++
问题:
求解一般集合的合并
【问题描述】
已知两个集合A和B,现 要求一个新的集合A=AUB。例如,设
A=(7,5,3,11) B=(2,6,3)
合并后
A=(7,5,3,11,2,6)
【分析】
首先了解集合的特点,集合中元素不重复。可以利用两个线性表LA和LB分别表示集合A和B。将LB中的待合并元素与LA中每个元素比较,如果LB中的待合并元素在LA中存在,LB中的待合并元素不要并入LA,如果LB中的待合并元素与LA中每个元素不同,则并入LA中,最终得到合并后的集合LA。
【c++实现】
数据结构:带头结点单链表
结构体
typedef struct Lnode
{
int data;//数据域
Lnode* next;//指针域
}Lnode,*Linklist;
创建集合
void Create_Gather(Linklist& L,int n)
{
//初始化单链表
L = new Lnode;//生成头结点,用指针L指向头结点
L->next