您的位置:首页 > 其它

消除两个线性链表中相同元素的合并

2012-10-11 16:21 239 查看
#include<iostream>
using namespace std;
typedef int element;
#define max 100
typedef struct
{
element a[max];
int last;
}sqlist;
int compare(sqlist *la,int x)
{
int flag=0;
int i;
for(i=0;i<=la->last;i++)
{
if(la->a[i]==x)
{flag=1;break;}
}
return flag;
}
void uunion(sqlist *la,sqlist *lb)
{
int x=la->last;
int y=0,i,count=0;
for(i=0;i<=lb->last;i++)
{
if(!compare(la,lb->a[i]))
{
la->a[++x]=lb->a[i];
count++;
}
}
la->last=la->last+count;
}
int main()
{
sqlist *la,*lb;
int len,i;
la=(sqlist *)malloc(sizeof(sqlist));
cout<<"输入链表a的长度:"<<endl;
cin>>len;
la->last=len-1;
cout<<"输入元素"<<endl;
for(i=0;i<len;i++)
cin>>la->a[i];
lb=(sqlist *)malloc(sizeof(sqlist));
cout<<"输入链表b的长度:"<<endl;
cin>>len;
lb->last=len-1;
cout<<"输入元素"<<endl;
for(i=0;i<len;i++)
cin>>lb->a[i];
uunion(la,lb);
for(i=0;i<=la->last;i++)
cout<<la->a[i]<<" ";
cout<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐