|
2.1.2 线性表类型的应用
|
例2-2 已知一个"非纯集合"
B,试构造一个集合 A,使 A 中只包含 B 中所有值各不相同的数据元素。 |
|
|
在集合论中规定元素之间是彼此相异的。在此所谓"非纯集合"意为该"集合"中存在相同元素。 |
|
|
换句话说,此问题即为从 B 中挑选出所有"彼此相异"的元素构成一个新的集合。如何区分元素的"相异"或"相同",一个简单方法即为将每个从
B 中取出的元素和已经加入到集合 A 中的元素相比较。 如果还是以线性表 LB 和 LA 分别表示"集合" B 和 A,那么和例2-1的问题相比,此问题求解的算法应该如何写呢?
|
|
|
|
|
容易看出,应对线性表作和上例相同的操作,具体的三步也都相同,所不同之处仅仅在于两点:一是例2-1的算法中
LA 是已知的,而在此例算法中的 LA 是待新建的;二是例2-1在求得并集之后,原来的两个集合不再保留,而在此例中构建新的集合
A 的同时,原来的集合 B 不变。 |
|
打个比方,某商店需在橱窗中摆出所有商品的样品,那么,B
好比是商店内的全部物品,而 A 为橱窗中的样品。 |
|