2.1.2 线性表类型的应用
 
 
 
  程序段 算法2.2
  void purge(List &LA, List LB)
  {
  // 构造线性表LA,使其只包含LB中所有值不相同的数据
  // 元素,算法不改变线性表LB 
   InitList(LA);          // 创建一个空的线性表 LA
   La_len = 0;
   Lb_len = ListLength(LB);     // 求线性表 LB 的长度
   for (i = 1; i <= Lb_len; i++)  // 依次处理 LB 中每个元素
   {
   GetElem(LB, i, e);       // 取 LB 中第 i 个数据元素赋给 e
   if (!LocateElem( LA, e, equal( ) )
     ListInsert( LA, ++La_len, e );
         // 当 LA 中不存在和 e 值相同的数据元素时进行插入
   } // for
  } // purge
     注意函数中两个参数的不同传递方式。

  思考题 同样是为了取得 LB 中一个数据元素,为什么在上一个算法中用的是基本操作 ListDelete(LB, 1, e),而在此用的是基本操作 GetElem(LB, i, e)?