数据结构线性表答案_精品文档Word文件下载.doc

上传人:b****1 文档编号:13149978 上传时间:2022-10-06 格式:DOC 页数:30 大小:155KB
下载 相关 举报
数据结构线性表答案_精品文档Word文件下载.doc_第1页
第1页 / 共30页
数据结构线性表答案_精品文档Word文件下载.doc_第2页
第2页 / 共30页
数据结构线性表答案_精品文档Word文件下载.doc_第3页
第3页 / 共30页
数据结构线性表答案_精品文档Word文件下载.doc_第4页
第4页 / 共30页
数据结构线性表答案_精品文档Word文件下载.doc_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据结构线性表答案_精品文档Word文件下载.doc

《数据结构线性表答案_精品文档Word文件下载.doc》由会员分享,可在线阅读,更多相关《数据结构线性表答案_精品文档Word文件下载.doc(30页珍藏版)》请在冰豆网上搜索。

数据结构线性表答案_精品文档Word文件下载.doc

i<

=4;

i++){

P->

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

P=P->

next;

P->

data=i*2-1;

}

next=NULL;

for(i=4;

i>

=1;

i--)Ins_LinkList(L,i+1,i*2);

=3;

i++)Del_LinkList(L,i);

2.6已知L是无表头结点的单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

a.在P结点后插入S结点的语句序列是__________________。

b.在P结点前插入S结点的语句序列是__________________。

c.在表首插入S结点的语句序列是__________________。

d.在表尾插入S结点的语句序列是__________________。

(1)P->

next=S;

(2)P->

next=P->

next->

(3)P->

next=S->

(4)S->

(5)S->

next=L;

(6)S->

(7)Q=P;

(8)while(P->

next!

=Q)P=P->

(9)while(P->

=NULL)P=P->

(10)P=Q;

(11)P=L;

(12)L=S;

(13)L=P;

a.(4)

(1)

b.(7)(11)(8)(4)

(1)

c.(5)(12)

d.(9)

(1)(6)

2.7已知L是带表头结点的非空单链表,且P结点既不是首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。

a.删除P结点的直接后继结点的语句序列是____________________。

b.删除P结点的直接前驱结点的语句序列是____________________。

c.删除P结点的语句序列是____________________。

d.删除首元结点的语句序列是____________________。

e.删除尾元结点的语句序列是____________________。

(1)P=P->

next=P;

(4)P=P->

(5)while(P!

(6)while(Q->

=NULL){P=Q;

Q=Q->

}

(7)while(P->

(10)Q=P;

(11)Q=P->

(12)P=L;

(13)L=L->

(14)free(Q);

a.(11)(3)(14)

b.(10)(12)(8)(3)(14)

c.(10)(12)(7)(3)(14)

d.(12)(11)(3)(14)

e.(9)(11)(3)(14)

2.8已知P结点是某双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。

a.在P结点后插入S结点的语句序列是_______________________。

b.在P结点前插入S结点的语句序列是_______________________。

c.删除P结点的直接后继结点的语句序列是_______________________。

d.删除P结点的直接前驱结点的语句序列是_______________________。

e.删除P结点的语句序列是_______________________。

priou=P->

priou->

priou;

(4)P->

priou=S;

priou=P;

(7)S->

(8)S->

(9)P->

(10)P->

(11)P->

(12)P->

(13)P->

(14)P->

(15)Q=P->

(16)Q=P->

(17)free(P);

(18)free(Q);

a.(7)(3)(6)(12)

b.(8)(4)(5)(13)

c.(15)

(1)(11)(18)

d.(16)

(2)(10)(18)

e.(14)(9)(17)

2.9简述以下算法的功能。

(1)StatusA(LinkedListL){//L是无表头结点的单链表

if(L&

&

L->

next){

Q=L;

L=L->

while(P->

next)P=P->

P->

next=Q;

Q->

}

returnOK;

}

(2)voidBB(LNode*s,LNode*q){

p=s;

while(p->

=q)p=p->

p->

next=s;

voidAA(LNode*pa,LNode*pb){

//pa和pb分别指向单循环链表中的两个结点

BB(pa,pb);

BB(pb,pa);

(1)如果L的长度不小于2,将L的首元结点变成尾元结点。

(2)将单循环链表拆成两个单循环链表。

2.10指出以下算法中的错误和低效之处,并将它改写为一个既正确又高效的算法。

StatusDeleteK(SqList&

a,inti,intk)

{

//本过程从顺序存储结构的线性表a中删除第i个元素起的k个元素

if(i<

1||k<

0||i+k>

a.length)returnINFEASIBLE;

//参数不合法

else{

for(count=1;

count<

k;

count++){

//删除第一个元素

for(j=a.length;

j>

=i+1;

j--)a.elem[j-i]=a.elem[j];

a.length--;

returnOK;

}

//从顺序存储结构的线性表a中删除第i个元素起的k个元素

//注意i的编号从0开始

intj;

0||i>

a.length-1||k<

0||k>

a.length-i)returnINFEASIBLE;

for(j=0;

j<

=k;

j++)

a.elem[j+i]=a.elem[j+i+k];

a.length=a.length-k;

2.11设顺序表va中的数据元素递增有序。

试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。

StatusInsertOrderList(SqList&

va,ElemTypex)

//在非递减的顺序表va中插入元素x并使其仍成为顺序表的算法

inti;

if(va.length==va.listsize)return(OVERFLOW);

for(i=va.length;

0,x<

va.elem[i-1];

i--)

va.elem[i]=va.elem[i-1];

va.elem[i]=x;

va.length++;

2.12设和均为顺序表,和分别为和中除去最大共同前缀后的子表。

若空表,则;

若=空表,而空表,或者两者均不为空表,且的首元小于的首元,则;

否则。

试写一个比较,大小的算法。

StatusCompareOrderList(SqList&

A,SqList&

B)

inti,k,j;

k=A.length>

B.length?

A.length:

B.length;

for(i=0;

if(A.elem[i]>

B.elem[i])j=1;

if(A.elem[i]<

B.elem[i])j=-1;

if(A.length>

k)j=1;

if(B.length>

k)j=-1;

if(A.length==B.length)j=0;

returnj;

2.13试写一算法在带头结点的单链表结构上实现线性表操作Locate(L,x);

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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