设有线性表LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20),若LA和LB分别表示两个集合A和B,求新聚合C=A并B(即相同

用顺序表实现,要整个过程
2025年02月28日 22:35
有2个网友回答
网友(1):

#include

#define listincrement 10

l->elem=(int *)malloc(list_init_size*sizeof(int));

if(!l->elem)

exit(0);

l->length=0;

l->listsize=list_init_size;

return 0;

int listinsert_sq(sqlist *l,int i,int e)//插入一个元素

int i,t=-1;

for(i=0;ilength;i++)

if(l->elem[i]==e)

{t=i;break;}

return t;

}

void opt_1(sqlist *la,sqlist *lb)//(相同元素不保留)

void sort(sqlist *la) //排序

{

int i,j,k;

for(i=0;ilength;i++)

int i,j;

for(i=0;ilength;i++)

{

j = find(la,lb->elem[i]);

if(j!=-1)

listinsert_sq(la,j+1,lb->elem[i]);

else

opt_1(&La,&Lb);//操作(相同元素不保留)

}

输出:

3 5 8 11

2 6 8 9 11 15 20

3 5 8 11 2 6 9 15 20

2 3 5 6 8 8 9 11 11 15 20

线性表

中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。

网友(2):

我搜到了题目,一看一摸一样的,在看没结果,再一看是你的,我晕死啦