使用线性表的顺序结构来查找集合的并集,交集,差和补码(用C语言实现)

电脑杂谈  发布时间:2020-05-02 14:08:56  来源:网络整理

c语言 集合运算_西南交大数据结构c语言版集合的并,交实验报告答案_集合的交并差c语言

昨天我在数据结构中使用了线性表的顺序结构,以对集合的并集,交集,差和补码执行集合操作. 记录下来,希望对别人有帮助.

首先,算法分析

(1)使用数组A,B,C和E表示集合. 假设A = {1,3,4,5,6,7,9,10},

B = {2 ,, 3,4,7,8集合的交并差c语言,10}集合的交并差c语言,E = {1,2,3,4,5,6,7,7,9,10},

集合的交并差c语言_c语言 集合运算_西南交大数据结构c语言版集合的并,交实验报告答案

输入数组A,B和E(全套). 输入数据时,需要检查数据是否重复(要求集合中的数据不重复). 集合A和B必须是集合E的子集.

(2)两组的并集: 首先将数组A中的每个元素保存在数组C中. 将数组B中的元素与数组A中的元素一一比较,然后将不同的元素添加到数组C中. 数组C是集合A​​和集合B的并集.

C语言算法(线性表顺序结构的实现):

 /**求集合的并集的函数**/
void Union_Sq(SqList La,SqList Lb,SqList &Lc){
int i;
ElemType elem;
Lc.length=0;
for(i = 0; i < La.length; i++)
Lc.elem[Lc.length++]=La.elem[i];
for(i = 1; i <= Lb.length; i++){
elem = Lb.elem[i-1];
if(!LocateElem_Sq(La,elem,Equal))
ListInsert_Sq(Lc,Lc.length+1,elem);
   }
}

c语言 集合运算_集合的交并差c语言_西南交大数据结构c语言版集合的并,交实验报告答案

(3)两组的交集: 将数组A中的元素与数组B中的元素一一比较,然后将相同的元素放在数组C中,这是集合A与集合B的交集.

C语言算法(线性表顺序结构的实现):

/**求集合的交集的函数**/
void Mix_Sq(SqList La,SqList Lb,SqList &Lc){
int i;
ElemType elem;
Lc.length = 0;
for(i = 1; i <= La.length; i++){
elem = La.elem[i-1];
if(LocateElem_Sq(Lb,elem,Equal))
ListInsert_Sq(Lc,Lc.length+1,elem);
   }
}

(4)两组的差运算: 将数组A中的元素与数组B中的元素一一比较,将数组A和数组B的不同元素保存在数组C中,并将数组C设置为A差AB设置为B.

西南交大数据结构c语言版集合的并,交实验报告答案_c语言 集合运算_集合的交并差c语言

C语言算法(线性表顺序结构的实现):

/**求集合的差集函数**/
void Differ_Sq(SqList La,SqList Lb,SqList &Lc){
int i;
ElemType elem;
Lc.length = 0;
for(i = 1; i <= La.length; i++){
elem = La.elem[i-1];
if(!LocateElem_Sq(Lb,elem,Equal))
ListInsert_Sq(Lc,Lc.length+1,elem);
   }
}

(5)集合的互补运算: 将数组E中的元素与数组A中的元素一一比较,并保存数组C中的不同元素,数组C是关于集合E的集合A的补充.

补集是一种特殊的集差运算.

c语言 集合运算_集合的交并差c语言_西南交大数据结构c语言版集合的并,交实验报告答案

C语言算法(线性表顺序结构的实现):

/**求集合的补集函数**/
void Comple_Sq(SqList La,SqList Lb,SqList &Lc,SqList &Ld){
int i;
ElemType elem;
Ld.length = 0;
Union_Sq(La,Lb,Lc);
for(i = 1; i <= Lc.length; i++){
elem = Lc.elem[i-1];
if(!LocateElem_Sq(La,elem,Equal))
ListInsert_Sq(Ld,Ld.length+1,elem);
}
}

第二,实施效果图如下:

三,源程序如下:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-196491-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...