回 帖 发 新 帖 刷新版面

主题:你们会不会啊????

bool isEqual(List LA, List LB)
  {
  // 若线性表 LA 和 LB 不仅长度相等,且所含数据元素也相同,
  // 则返回 TRUE,否则返回 FALSE。
  La_len = Listlength(LA); 
  Lb_len = Listlength(LB); 
      如果"集合"中的元素不能保证都相异,那么这个问题的算法应如何写?  
 
 除了判别每个 LA 中的元素在 LB 中都存在之外,还应反过来判别 LB 中每个元素都能在 LA 中找到相同者。你不妨试试写一下这个算法。 
 
   
    if ( La_len != Lb_len ) return FALSE; // 两表的长度不等 
  else 
  { 
   i = 1; found = TRUE;
   while ( i<= La_len && found )
   { 
    GetElem( LA, i, e );         // 取得 LA 中一个元素 
    if ( LocateElem(LB, e, equal( ) ) 
     i++;                  // 依次处理下一个 
    else found = FALSE;          // LB中没有和该元素相同的元素 
   } // while
   return found; 
  } // else
 } // isEqual  
写个小程序啊!!![em1]

回复列表 (共3个回复)

沙发

你是说‘集合’的判断相等?

板凳

正确

3 楼

如果是有限集,可以先定义全集,比如所有的ASCII字符,就可以用128bit表示一个子集,如果第i个bit为1则说明第i个元素在这个集合当中。

我来回复

您尚未登录,请登录后再回复。点此登录或注册