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

来源:互联网 发布:淘宝什么军品店好 编辑:程序博客网 时间:2024/05/07 15:19
#include<iostream>using namespace std;typedef int element;#define max 100typedef 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;}