...和Lb分别表示两个集合A和B,现要求一个新的集合A=A&B.就是A并B...
如果这两个数组是整型数组,那么可以用一个布尔数组纪录A和B当中的数(如果有则把对应的元素设为TRUE),然后从头到尾扫描布尔数组,把布尔值为TRUE的放入另一个数组当中(或覆盖掉A)就可以了。如果这两个数组不是整型,而是实型的话,那么我建议你使用二叉排序树来实现,它使查找每个元素的时间复杂度降...
...和LB分别表示两个集合A和B,现要求一个集合A=A并B
利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A∪B。void union(List &La,List Lb) { 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-en,e)} } ...
问题描述:假设两线性表LA和LB分别表示两集合A和B,要求新集合A=A并...
int a[]={1,5,8,12,5,-5,32};int b[]={3,5,1,-3,10};list< int > set1(a,a+sizeof(a)\/sizeof(int));list< int > set2(b,b+sizeof(b)\/sizeof(int));list< int > result;set1.sort();set2.sort();\/\/交集 set_intersection(set1.begin(),set1.end(),set2.beg...
线性表的合并 java
使用ArrayList作为LA 、LB线性结构类型,则其可以自动进行扩大表操作,而不用判断增加容量的大小。循环LB IF(LB[I]在LA中不存在) 那么 将LB[I]放入LA END LB循环
用线性表La和Lb分别表示集合A和集合B,现要求一个新的集合A=AUB。
a[],int n) { \/\/ 用数组创建集合int i;pSet S,p;S = p = InitSet();for(i = 0; i < n; ++i) {p->next = GetNewNode();p->next->data = a[i];p = p->next;}p->next = NULL;return S;}void CreateSet2(Set S) { \/\/ 用键盘输入数据创建集合SElemType data;...
有序表的合并(顺序有序表,链式有序表)
1、顺序有序表:用两个线性表LA和LB分别表示集合A和集合B,利用两个指针pa和pb,分别指向LA和LB的第一个元素,如果pa所指的元素小于等于pb所指的元素(*pa<=*pb),则将pa所指元素存入到pc所指的存储空间中,并将pa和pc所指单元向下移动(pa++;pc++;),同理若pa所指的元素大于pb所指的元素,则...
高手帮帮忙:已知线性表la和lb中的数据元素按值非递减有序排列,现要求将...
你可以试着再自己写一个更好的。include<stdio.h> include<stdlib.h> define MAXSIZE 10 typedef struct { int elem[MAXSIZE];int len;}sqlist;void merge(sqlist *la,sqlist *lb,sqlist *lc){ int i,j,k;i=j=k=0;if(la->len+lb->len<=MAXSIZE){ while(i<la->len&&j<lb->...
两个顺序表sa,sb,其元素均为递增有序,将此列表归并成sc,并保持递增顺序...
要求将这个线性表合并为一个表Lc,Lc的元素也按照从小到达升序排列 \/ \/*算法:首先建立顺序表Lc,使得Lc的大小等于La+Lb.依次扫描顺序表la lb,比较当前的元素值,将值小的复制给lc,直到一个顺序表扫描完。将未完成的顺序表余下部分直接赋值给lc \/ include<stdio.h> include<stdlib.h> typedef ...
高手帮帮忙:已知线性表la和lb中的数据元素按值非递减有序排列,现要求将...
有连个表 la[i]和lb[j] 算法实现为 for[k=0,x=0,y=0;k<i+j;k++]{ if(la[x]>=lb[y]){lc[k]=lb[y];y++;} else{lc[k]=la[x];x++;} }
有序排列的链表La和Lb归并为一个新的线性表Lc,下面程序错误在哪里?链 ...
对数输入要取地址呀***scanf("%d",La.elem[i]);***?应该是这样吧scanf("%d",&La.elem[i]); 下同!!