消除两个线性链表中相同元素的合并
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; }
相关文章推荐
- js中比较两个数组中是否含有相同的元素,可去重,可删除合并为新数组
- 数组合并删除两个相同元素方法
- 合并两个List集合。有相同的元素只存在一次
- 将两个递增的链表合并成一个递减的链表(相同的元素只留下一个),并要求利用原表结点
- 已知两个链表 la和 lb,其元素值递增排序。编程将la和lb合并成一个递减有序(相同值元素只保留一个)的链表lc。(北方名校经典试题) 本题选做
- php合并两个二维数组,二维数组按键名排序,删除二维数组元素,二维数组按相同字段合并)
- python小练习6:合并两个列表,相同的元素不要
- js中比较两个数组中是否含有相同的元素,可去重,可删除合并为新数组
- java 两个相同元素的List,合并排序去除重复元素的快速算法
- table表格合并跨行中相同元素的列
- 合并两个类型相同的List
- 找出两个数组中相同的元素,不排序直接两次循环取出
- 判断两个数组是否有相同的元素?有输出“有”,没有输出“没有”
- 合并两个链表,两个表的元素交叉进行,合并之后合并后的链表变成空表
- 如何合并两个结构相同的DataTable
- 合并两个dataset,其中DataTable的结构相同
- 找两个数组中的相同元素
- 【C语言】判断两个数组中是否有相同的元素。
- 给定一个整数数组,两个数字的返回索引将它们加到一个特定的目标中。 您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
- 两个数组相加,保持元素原序,删除相同元素