数据结构实验上机题答案Word格式.docx

上传人:b****5 文档编号:19810504 上传时间:2023-01-10 格式:DOCX 页数:121 大小:36.32KB
下载 相关 举报
数据结构实验上机题答案Word格式.docx_第1页
第1页 / 共121页
数据结构实验上机题答案Word格式.docx_第2页
第2页 / 共121页
数据结构实验上机题答案Word格式.docx_第3页
第3页 / 共121页
数据结构实验上机题答案Word格式.docx_第4页
第4页 / 共121页
数据结构实验上机题答案Word格式.docx_第5页
第5页 / 共121页
点击查看更多>>
下载资源
资源描述

数据结构实验上机题答案Word格式.docx

《数据结构实验上机题答案Word格式.docx》由会员分享,可在线阅读,更多相关《数据结构实验上机题答案Word格式.docx(121页珍藏版)》请在冰豆网上搜索。

数据结构实验上机题答案Word格式.docx

for(i=0;

i<

L.length;

i++)

printf("

%d"

L.elem[i]);

}

printf("

\n"

intListInsert_Sq(SqList&

L,inti,inte)

if(i<

1||i>

L.length+1)

returnERROR;

ElemType*newbase,*q,*p;

if(L.length>

=L.listsize)

newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));

L.elem=newbase;

L.listsize+=LISTINCREMENT;

q=&

(L.elem[i-1]);

for(p=&

(L.elem[L.length-1]);

p>

=q;

--p)

*(p+1)=*p;

*q=e;

++L.length;

intListDelete_Sq(SqList&

L,inti,int&

e)

ElemType*q,*p;

L.length)

p=&

e=*p;

q=L.elem+L.length-1;

for(++p;

p<

p++)

*(p-1)=*p;

L.length--;

intmain()

SqListT;

inta,i;

ElemTypee,x;

if(InitList_Sq(T))

ASequenceListHasCreated.\n"

while

(1)

1:

Insertelement\n2:

Deleteelement\n3:

Loadallelements\n0:

Exit\nPleasechoose:

scanf("

%d"

&

a);

switch(a)

{

case1:

scanf("

%d%d"

i,&

x);

if(!

ListInsert_Sq(T,i,x))

printf("

InsertError!

else

TheElement%disSuccessfullyInserted!

x);

break;

case2:

i);

ListDelete_Sq(T,i,e))

DeleteError!

else

TheElement%disSuccessfullyDeleted!

e);

case3:

Load_Sq(T);

case0:

return1;

}

222222222222222222222222222222222222222222222222222222222222222222222222222222

for(i=0;

%d"

intListLength(SqListL)

returnL.length;

intGetElem(SqListL,inti,ElemType&

e=L.elem[i-1];

ElemType*p,*q,*newbase;

if(L.listsize<

=L.length)

p--)

L.length++;

voidMergeList(SqListLa,SqListLb,SqList&

Lc)

inti,j,k,La_len,Lb_len,ai,bj;

i=j=1;

k=0;

InitList_Sq(Lc);

La_len=ListLength(La);

Lb_len=ListLength(Lb);

while((i<

=La_len)&

&

(j<

=Lb_len))

GetElem(La,i,ai);

GetElem(Lb,j,bj);

if(ai<

=bj)

ListInsert_Sq(Lc,++k,ai);

i++;

else

ListInsert_Sq(Lc,++k,bj);

j++;

while(i<

=La_len)

GetElem(La,i++,ai);

ListInsert_Sq(Lc,++k,ai);

while(j<

=Lb_len)

GetElem(Lb,j++,bj);

ListInsert_Sq(Lc,++k,bj);

Load_Sq(Lc);

intan,bn,i,e;

SqListLa,Lb,Lc;

InitList_Sq(La);

an);

for(i=1;

=an;

e);

ListInsert_Sq(La,i,e);

ListA:

Load_Sq(La);

InitList_Sq(Lb);

bn);

ListInsert_Sq(Lb,i,e);

ListB:

Load_Sq(Lb);

ListC:

MergeList(La,Lb,Lc);

return0;

333333333333333333333333333333333333333333333333333333333333333333333333333333

#defineElemTypeint

if(!

L.elem)

NO1"

ThisListisempty!

ElemType*newbase,*p,*q;

if(!

newbase)

NO2"

returnERROR;

intswap(SqList&

L,intn)

inti,j,temp;

for(i=0,j=n-1;

j>

i;

i++,j--)

temp=L.elem[i];

L.elem[i]=L.elem[j];

L.elem[j]=temp;

intn,i;

ElemTypex;

n);

InitList_Sq(T);

n+1;

ListInsert_Sq(T,i,x);

swap(T,n);

TheturnedListis:

444444444444444444444444444444444444444444444444444444444444444444444444444444

typedefstructLNode

intdata;

structLNode*next;

}LNode,*LinkList;

intCreateLink_L(LinkList&

LinkListp,q;

ElemTypee;

L=(LinkList)malloc(sizeof(LNode));

L->

next=NULL;

q=(LinkList)malloc(sizeof(LNode));

q=L;

n;

p=(LinkList)malloc(sizeof(LNode));

p->

data=e;

next=q->

next;

q->

next=p;

q=q->

intLoadLink_L(LinkList&

LinkListp=L->

p)

TheLinkListis:

while(p)

p->

data);

p=p->

intLinkInsert_L(LinkList&

L,inti,ElemTypee)

LNode*p=L,*s;

intj=0;

while(p&

j<

i-1)

p=p->

j++;

p||j>

s=(LinkList)malloc(sizeof(LNode));

s->

next=p->

p->

next=s;

intLinkDelete_L(LinkList&

L,inti,ElemType&

LNode*p=L,*q;

while(p->

next&

(p->

next)||j<

q=p->

e=q->

data;

free(q);

LinkListT;

inta,n,i;

ElemTypex,e;

Pleaseinputtheinitsizeofthelinklist:

Pleaseinputthe%delementofthelinklist:

n);

if(CreateLink_L(T,n))

ALinkListHasCreated.\n"

LoadLink_L(T);

scanf("

LinkInsert_L(T,i,x))

LinkDelete_L(T,i,e))

LoadLink_L(T);

return1;

555555555555555555555555555555555555555555555555555555555555555555555555555555

voidMergeList_L(LinkList&

La,LinkList&

Lb,LinkList&

LinkListpa,pb,pc;

pa=La->

pb=Lb->

Lc=pc=La;

while(pa&

pb)

if(pa->

data<

=pb->

data)

pc->

next=pa;

pc=pa;

pa=pa->

next=pb;

pc=pb;

pb=pb->

pc->

next=pa?

pa:

pb;

free(Lb);

LinkListLa,Lb,Lc;

intn;

CreateLink_L(La,n);

LoadLink_L(La);

CreateLink_L(Lb,n);

LoadLink_L(Lb);

MergeList_L(La,Lb,Lc);

LoadLink_L(Lc);

666666666666666666666666666666666666666666666666666666666666666666666666666666

TheListisEmpty!

intinversion(LinkList&

next,q;

while(p)

q=p->

next=L->

L->

p=q;

r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1