数据结构3:检验线性表的基本操作和线性表的合并

来源:互联网 发布:图片大小编辑软件 编辑:程序博客网 时间:2024/05/22 12:24
//2014年8月21日9:59:17,功能:实现线性表的合并操作
//将所有在线性表lb中但是不在la中的数据插入到la中
//author:BGY
#include<c1.h>
#typedef int elemtype;
#include<c2.h>
#include<bo2-1.h>
statux equal(elemtype c1,elemtype c2)
{
       if(c1==c2)  return true;
       else return false;
}
void  union (sqlist &la,sqlist &lb)
{
   elemtype e;
   int la_len,lb_len;
   int i;
   la_len=listlength(la);
   la_len=listlength(lb);
   for(i=1;i<=lb_len;i++)
   {
      getelem(lb,i,e);取lb中的dii个元素付给e
      if(!locateelem(la,e,equal)) //取la中不存在和e相同的元素,插入
       listinsert(la,++la_len,e);
   }
}
void print(elemtype &c)
{
   printf("%d ",c);
}
int main(void)
 {
   sqlist la,lb;
   status i;
   int j;
   i=initlist(la);
   if(i==1)
     for(j=1;j<=5;j++)
     {
        i=listinsert(la,j,j);
     }
    printf("la= ",);
    listtraverse(la,print);
    initlist(lb);
    for(j=1;j<=5;j++)
    {
      i=listinsert(lb,j,2*j);
    }            
    printf("lb=");
    listtraverse(lb,print);
    union(la,lb);
    printf("new la= ");
    listtraverse(la,print);
   return 0;
}
0 0
原创粉丝点击