ListDelete(&l, i, &e) (删除数据元素) 初始条件线性表L存在且非空 IsisLengthList(L) 操作结果:删除L的第个元素,并用 e返回其值,L的长度减1
ListDelete(&L, i, &e) 初始条件: 操作结果: 线性表L已存在且非空, 1≤i≤LengthList(L) 删除L的第i个元素,并用 e返回其值,L的长度减1。 (删除数据元素)
利用上述定义的线性表 可以实现其它更复杂的操作 例2-1 例2-2 例2-3
利用上述定义的线性表 可以实现其它更复杂的操作 例 2-2 例 2-3 例 2-1
例2-1 假设有两个集合A和B分别用两个 线性表LA和LB表示,即:线性表 中的数据元素即为集合中的成员 现要求一个新的集合A=A∪B
假设:有两个集合 A 和 B 分别用两个 线性表 LA 和 LB 表示,即:线性表 中的数据元素即为集合中的成员。 现要求一个新的集合A=A∪B。 例 2-1
上述问题可演绎为 要求对线性表作如下操作 扩大线性表LA,将存在于线性表 LB中而不存在于线性表LA中的 数据元素插入到线性表LA中去
要求对线性表作如下操作: 扩大线性表 LA,将存在于线性表 LB 中而不存在于线性表 LA 中的 数据元素插入到线性表 LA 中去。 上述问题可演绎为:
操作步骤: 1.从线性表LB中依次察看每个数据元素 GetElem ( LB,i)→e 2.依值在线性表LA中进行查访; LocateElem (LA, e, equal 3.若不存在,则插入之。 ListInsert(LA, n+1, e)
1.从线性表LB中依次察看每个数据元素; 2.依值在线性表LA中进行查访; 3.若不存在,则插入之。 GetElem(LB, i)→e LocateElem(LA, e, equal( )) ListInsert(LA, n+1, e) 操作步骤: