永发信息网

一个非纯集合B,试构造一个纯集合A,使A中只包含B中所有值各部相同的数据元素

答案:1  悬赏:50  手机版
解决时间 2021-11-24 14:04
  • 提问者网友:伴风望海
  • 2021-11-24 04:15
一个非纯集合B,试构造一个纯集合A,使A中只包含B中所有值各部相同的数据元素
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-11-24 04:57
先将非纯集合组成的线性表Lb排序,然后再进行比对插入La中,此时的比对,只比对为只比对刚插入的元素与新元素.
void purge(List&La,List Lb){
//已知线性表Lb中包含非纯集合B中所有元素,试构造一个纯集合A,使A中只包含B中所有值各不相同的数据元素
InitList(La); //初始化La为空表
La_len=ListLength(La); //求线性表La的长度
Lb_len=ListLength(Lb); //求线性表Lb的长度
for(i=1; i
GetElem(Lb, i, e); // //取出Lb线性表中第i个元素,保存到e中
if (ListEmpty(La) || !equal(end, e)) { //判断此元素e是否与最后一个刚插入的元素相同
ListInsert(La, ++La_len, e); //如果不相同,则先将La的表长加1,然后插入到La的尾部
end = e; //再用刚插入的元素来初始化插入的最后一个元素
} // if 判断结束
} //for 循环结束
} //purge 结束
这个算法的时间复杂度为N.

void purge(List&La,List Lb){
//已知线性表Lb中包含非纯集合B中所有元素,试构造一个纯集合A,使A中只包含B中所有值各不相同的数据元素
InitList(La); //初始化La为空表
La_len=ListLength(La); //求线性表La的长度
Lb_len=ListLength(Lb); //求线性表Lb的长度
for(i=1; i
GetElem(Lb, i, e); // //取出Lb线性表中第i个元素,保存到e中
if(!LocateElem(La, e, equal()) { //判断此元素e是否在La中有相同的元素存在
++La_len; //若元素e在La中不存在则,先将La的表长加1
ListInsert(La, La_len, e); //然后插入到La中.
} // if 判断结束
} //for 循环结束
} //purge 结束
这个算法的时间复杂度为n的平方.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯