早教吧作业答案频道 -->其他-->
数据结构算法实现:利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A并B.利用两个线性表LA和LB分别表示两个集合A和B,现要求一个新的集合A=A并B.算法是voidunion(List&La,ListLb
题目详情
数据结构算法实现:利用两个线性表LA和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
利用两个线性表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
▼优质解答
答案和解析
#include
#include
#include
typedef int status;
typedef int ElemType;
#define TRUE 1
#define ERROR 0
#define FALSE 0
#define OK 1
#define OVERFLOW -2
#define list_init_size 100
#define listincrement 10
typedef struct{
\x05ElemType *elem;
\x05int length;
\x05int listsize;
}sqlist;
status equal(ElemType a,ElemType b)
{if(a==b)
return TRUE;
else
return FALSE;
}
int listlength(sqlist l)
{ return l.length;}
status listinsert(sqlist *l,int i,ElemType e)
{
\x05ElemType *newbase,*q,*p;
\x05if(i(*l).length+1)
\x05return ERROR;
\x05if((*l).length>=(*l).listsize){
\x05\x05newbase=(ElemType*)realloc((*l).elem,((*l).listsize+listincrement)*sizeof(ElemType));
if(!newbase) exit(OVERFLOW);
\x05 (*l).elem=newbase;
\x05 (*l).listsize+=listincrement;
}
q=&((*l).elem[i-1]);
for(p=&((*l).elem[(*l).length-1]);p>=q;--p)
\x05 *(p+1)=*p;
*q=e;
++(*l).length;
return OK;
}
status initlist(sqlist *l){
\x05(*l).elem=(ElemType*)malloc(list_init_size*sizeof(ElemType));
\x05if(!(*l).elem)
\x05\x05exit(OVERFLOW);
\x05(*l).length=0;
\x05(*l).listsize=list_init_size;
\x05return OK;
}
status getelem(sqlist l,int i,ElemType *e)
{ if(il.length)
exit(ERROR);
*e=*(l.elem+i-1);
return OK;
}
int LocateElem(sqlist L,ElemType e,status(*compare)(ElemType,ElemType))
{
ElemType *p;
int i=1;
p=L.elem;
while(i
#include
#include
typedef int status;
typedef int ElemType;
#define TRUE 1
#define ERROR 0
#define FALSE 0
#define OK 1
#define OVERFLOW -2
#define list_init_size 100
#define listincrement 10
typedef struct{
\x05ElemType *elem;
\x05int length;
\x05int listsize;
}sqlist;
status equal(ElemType a,ElemType b)
{if(a==b)
return TRUE;
else
return FALSE;
}
int listlength(sqlist l)
{ return l.length;}
status listinsert(sqlist *l,int i,ElemType e)
{
\x05ElemType *newbase,*q,*p;
\x05if(i(*l).length+1)
\x05return ERROR;
\x05if((*l).length>=(*l).listsize){
\x05\x05newbase=(ElemType*)realloc((*l).elem,((*l).listsize+listincrement)*sizeof(ElemType));
if(!newbase) exit(OVERFLOW);
\x05 (*l).elem=newbase;
\x05 (*l).listsize+=listincrement;
}
q=&((*l).elem[i-1]);
for(p=&((*l).elem[(*l).length-1]);p>=q;--p)
\x05 *(p+1)=*p;
*q=e;
++(*l).length;
return OK;
}
status initlist(sqlist *l){
\x05(*l).elem=(ElemType*)malloc(list_init_size*sizeof(ElemType));
\x05if(!(*l).elem)
\x05\x05exit(OVERFLOW);
\x05(*l).length=0;
\x05(*l).listsize=list_init_size;
\x05return OK;
}
status getelem(sqlist l,int i,ElemType *e)
{ if(il.length)
exit(ERROR);
*e=*(l.elem+i-1);
return OK;
}
int LocateElem(sqlist L,ElemType e,status(*compare)(ElemType,ElemType))
{
ElemType *p;
int i=1;
p=L.elem;
while(i
看了 数据结构算法实现:利用两个线...的网友还看了以下:
选出与所给单词括号部分的读音相同的一项.1:cr(y).A:tr(y);B:cit(y);C:(y 2020-05-13 …
下列各项中,字形、字音全对的一项是()A.扁(biǎn)担扁(piān)舟伯(bó)仲大伯(bǎi 2020-06-21 …
选出下面各项中字音有误的一项:A剥皮bāo剥夺bō褒贬bāo薄饼báoB薄情bó冰雹báo一曝十寒 2020-07-01 …
这段话表现了桑娜是个善良的人.可以从那这句话中看出来毛驴和牛大哥有一天,一只老山羊爬山时把腿摔坏了 2020-07-02 …
A.黯然失色(àn)春意盎然(áng)稗官野史(bài)不谙世事(ān)B.大有裨益(bì)针砭时 2020-07-03 …
下列词语中,加横线字的读音全部正确的一组是()A.模样(mó)疲惫(bèi)濒临绝境(bīn)并行 2020-07-24 …
已知i分之a+2i=b+i(a,b属于R)其中i为虚数单位,则a+b=?要过程,越详细越好 2020-07-30 …
给加粗的字选择正确的读音。矮小(A.wěi;B.ǎi)坟墓(A.fén;B.wén)怅惘(A.w 2020-11-12 …
下列词语中加点的字的读音完全正确的一组是()A.挨打āi谙习ān裨益pì稗官野史bài刚愎自用bìB 2021-01-05 …
用b^(i-j)(b不等于0)乘以行列式D中每个元素aij,试证所得新行列式与D相等b^(i-j)是 2021-02-05 …