例2-2 已知一个非纯集合B,试构造一个 纯集合A,使A中只包含B中所有值各 不相同的数据元素 仍选用线性表表示集合
已知一个非纯集合 B,试构造一个 纯集合 A,使 A中只包含 B 中所有值各 不相 同的数据元素。 仍选用线性表表示集合。 例 2-2
集合B 集合A 从集合B取出物件放入集合A 要求集合A中同样物件不能有两件以上 因此,算法的策略应该和例2-1相同
集合 B 集合 A 从集合 B 取出物件放入集合 A 要求集合A中同样物件不能有两件以上 因此,算法的策略应该和例2-1相同
void union list &la, List Lb) InitList(La);∥构造(空的线性表LA La len=Listlength ( La); Lb len=Listlength(Lb) for(i=1;i<=Lb len; i++)& GetElen(Lb,i,e);∥取Lb中第i个数据元素赋给e if (!LocateElem(La, e, equal()) ListInsert(La, ++La len, e) ∥La中不存在和e相同的数据元素,则插入之 union
void union(List &La, List Lb) { La_len=ListLength(La); Lb_len=ListLength(Lb); } // union GetElem(Lb, i, e); // 取Lb中第 i 个数据元素赋给 e if (!LocateElem(La, e, equal( )) ) ListInsert(La, ++La_len, e); // La中不存在和 e 相同的数据元素,则插入之 for (i = 1; i <= Lb_len; i++) { } InitList(La); // 构造(空的)线性表LA
试改变结构,以有序表表示集合。 若线性表中的数据元素相互之间可以比 较,并且数据元素在线性表中依值非递 减或非递增有序排列,即 a;≥a;1或a;≤a1(i 则称该线性表为有序表 rdered List)
若线性表中的数据元素相互之间可以比 较,并且数据元素在线性表中依值非递 减或非递增有序排列,即 ai≥ai-1 或 ai≤ai-1(i = 2,3,…, n), 则称该线性表为有序表(Ordered List)。 试改变结构,以有序表表示集合
例如: (2,3,3,5,6,6,6,8,12) 对集合B而言, 值相同的数据元素必定相邻; 对集合A而言, 数据元素依值从小至大的顺序插入。 因此,数据结构改变了, 解决问题的策略也相应要改变
例如: (2,3,3,5,6,6,6,8,12) 对集合 B 而言, 值相同的数据元素必定相邻; 对集合 A 而言, 数据元素依值从小至大的顺序插入。 因此,数据结构改变了, 解决问题的策略也相应要改变