- 本文收录自【C语言数据结构】思想+代码集】
【数据结构】顺序表 求并集
思想
- 在第二个表中取某数据(取值操作)
- 不在顺序表中(定位操作)
- 就在后面(插入操作)
时间复杂度(O(LA.length*LB.length))
- 取值操作与执行时间与表长无关
- 定位操作执行时间与表长无关
- 插入操作的执行时间和表长成正比
代码
计算并集union.cpp
/*==============
* 求并集
*
* 包含算法: 2.1
===============*/
#include "Union.h" //**▲02 线性表**//
/*
* ████████ 算法2.1 ████████
*
* A=A∪B
*
* 计算La与Lb的并集并返回。
* 由于生成的并集会拼接在La上,所以La的入参为指针类型。
*/
void Union(SqList* La, SqList Lb) {
int La_len, Lb_len;
int i;
ElemType e;
// 求顺序表长度
La_len = ListLength(*La);
Lb_len = ListLength(Lb);
for(i = 1; i <= Lb_len; i++) {
// 取Lb中第i个元素赋给e
GetElem(Lb, i,