数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)2:若LA和LB分别

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 06:52:28
数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(

数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)2:若LA和LB分别
数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?
1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)
2:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素保留)预测输出LA=(2,3,5,6,8,8,9,11,11,15,20)
数据结构(C语言版)设有线性表LA(3,5,8,11)和LB(2,6,8,9,11,15,20)求新集合

数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)2:若LA和LB分别
#include
#include
#define list_init_size 100
#define listincrement 10
typedef struct
{ int *elem;
int length;
int listsize;
} sqlist;
int initsqlist (sqlist *l)//初始化
{
l->elem=(int *)malloc(list_init_size*sizeof(int));
\x09if(!l->elem)
\x09\x09exit(0);
\x09l->length=0;
\x09l->listsize=list_init_size;
\x09return 0;
}
int listinsert_sq(sqlist *l,int i,int e)//插入一个元素
{
\x09int *p,*q;
\x09if(il->length+1)
\x09\x09exit(0);
\x09q=&(l->elem[i-1]);
\x09for(p=&(l->elem[l->length-1]);p>=q;--p)
\x09\x09*(p+1)=*p;
\x09*q=e;
\x09++l->length;
\x09return 0;
}
void add(sqlist *l,int e)//添加到最后
{
listinsert_sq(l,l->length+1,e);
}
void disp(sqlist *l)
{
int i;
for(i=0;ilength;i++)
\x09 printf("%d ",l->elem[i]);
printf("\n");
}
int find(sqlist *l,int e)//查找元素是否存在
{
int i,t=-1;
for(i=0;ilength;i++)
\x09if(l->elem[i]==e)
\x09{t=i;break;}
return t;
}
void opt_1(sqlist *la,sqlist *lb)//(相同元素不保留)
{
int i,j;
for(i=0;ilength;i++)
{
\x09j = find(la,lb->elem[i]);
if(j==-1)
\x09\x09listinsert_sq(la,la->length+1,lb->elem[i]);
}
}
void sort(sqlist *la) //排序
{
\x09int i,j,k;
\x09for(i=0;ilength;i++)
\x09\x09for(j=i+1;jlength;j++)
\x09\x09{
\x09\x09 if(la->elem[i]>la->elem[j])
\x09\x09 {
\x09\x09\x09 k = la->elem[i];
\x09\x09\x09 la->elem[i] = la->elem[j];
\x09\x09\x09 la->elem[j] = k;
\x09\x09 }
\x09\x09}
}
void opt_2(sqlist *la,sqlist *lb)//(相同元素保留)
{
int i,j;
for(i=0;ilength;i++)
{
\x09j = find(la,lb->elem[i]);
if(j!=-1)
\x09\x09listinsert_sq(la,j+1,lb->elem[i]);
\x09else
\x09\x09listinsert_sq(la,la->length+1,lb->elem[i]);
}
sort(la);
}
int main()
{
\x09sqlist La,Lb;
\x09initsqlist(&La);
add(&La,3);
add(&La,5);
add(&La,8);
add(&La,11);
\x09initsqlist(&Lb);
add(&Lb,2);
add(&Lb,6);
add(&Lb,8);
add(&Lb,9);
add(&Lb,11);
add(&Lb,15);
add(&Lb,20);
\x09disp(&La);
\x09disp(&Lb);
\x09opt_1(&La,&Lb);//操作(相同元素不保留)
\x09disp(&La);
\x09La.length = 0; //重新初始化La
add(&La,3);
add(&La,5);
add(&La,8);
add(&La,11);
\x09opt_2(&La,&Lb);//操作(相同元素保留)
\x09disp(&La);
\x09
\x09return 0;
}
输出:
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

数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?1:若LA和LB分别表示两个集合A和B,求新集合A=A∪B(相同元素不保留)预测输出LA=(3,5,8,11,2,6,9,15,20)2:若LA和LB分别 数据结构算法2.1两个线性表LA和LB,求新的集合那个,C语言版完整程序怎么写啊 数据结构(C语言版) 严蔚敏版的,里面的交换赋值什么意思?给个例子 C语言版数据结构里的 locateElem (L,e,compare())是什么意思?compare()是判定函数,请举个例子给我,C语言版数据结构里的 locateElem (L,e,compare())是什么意思?compare()是判定函数,什么样的?我就是不理 采用队列,编写程序打印出杨辉三角形 数据结构(C语言版) 采用队列,编写程序打印出杨辉三角形.11 11 2 11 3 3 11 4 6 4 11 5 10 5 1 设计一个一元多项式简单的计算器(数据结构C语言版)急要求:一元多项式计算器的基本功能定为 (1) 建立多项式 (2) 输出多项式 (3) 两个多项式相加,建立并输出和多项式 (4) 两个多项式相减 数据结构与算法 C语言版的问题 ,在一棵具有5层的哈夫曼树中结点数为 ( )A 5 B9 C 10 D11 线性表LA=(3,5,8,11),LB=(2,6,8,9,11,15,20),LA和LB代表两个集合A.B,设有线性表LA=(3,5,8,11)和LB=(2,6,8,9,11,15,20),若LA和LB分别代表两个集合A.B,求新集合A=A和B的并集,相同元素不保留?心急如焚,恳 算法与数据结构问题(C语言版):证明通过先根序列和中序序列可以构造出2叉树 求一个学过数据结构(C语言版)的大神,有一个关于克鲁斯卡尔算法和普里姆算法的问题!需要大神指点,如题 数据结构(C语言版)中,树和二叉树中的Huffman树编码的大体框架是什么书上的看的不怎么懂,概念有混淆, 求一个括号算法匹配算法的代码,C语言版的数据结构 使用普里姆算法求最小生成树.我们数据结构(c语言版)的作业. 马踏棋盘的算法是数据结构的C语言版,用栈和队列来实现. 请问下,在数据结构(C#语言版)中,get和set有什么作用 【C语言·数据结构】这两句语法是什么意思算法的大意是线性表(顺序表)的合并【将非递减排列的La和Lb中所有元素按非递减排列到Lc里】【使用元素赋值的方法】里面有两句不理解pa_last = 数据结构 线性表 for(++p;p 数据结构(c语言版)的问题:一个单向链表,有一个头结点,那么头指针指向?一个单向链表,有一个头结点,后面依次是第1、第2、……第n个结点.那么头指针指向第1个结点还是指向头结点?