回 帖 发 新 帖 刷新版面

主题:怎样将这个算法写成程序


假设有两个线性表La和Lb.分别表示两个集合 A 和 B(即线性表中的数据元素为集合中的成员)现要求一新的集合 A=A U B.
 



void union{list&La,listLb)
 {  //将所有在线性表Lb中但不在La中的元素插入到La中
     La_len=listlength(La); Lb_len=listlength(Lb);
     for(i=1;i<Lb_len;i++)
       { GetElem(Lb,i,e);
           if(!locateElem(La,e,equal))
             Listinsert(La,++La_lenl;e)
        }
  }//union
 怎样将这个算法写成程序啊?请各位帮帮小弟。好急啊,

回复列表 (共2个回复)

沙发

union??
保留字吧

板凳

是不是应该先创建一个链表啊?哦,你不要创建的过程是吧?那我试试写一下结合的过程,见笑啊,有错误的话请指出。
void sliplist *union()
{sliplist *p,*q;//两个链表是a和b;
 int m=0,n=0;
 head=a->head;
 p=a->head;
 q=b->head;
 while(p->next!=NULL)
 {p++;
  m=m+1;
 }  
 while(q->next!=NULL)
 {q++;
  n=n+1;
 }
 q=b->head;
 for(;q->next!NULL;p++,q++)
 {if(q->data==p->data)q=q->next;
  else
  {q=(sliplist *)malloc(sliplist);
   p->next=q;
   free(q);
   q=q->next;
  }
 return(head);
}
请考虑一下我的程序,如果不行,那就是我的功底不够了,指教。

我来回复

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