数据结构试题大题编程及参考答案.pdf

数据结构试题大题编程及参考答案.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据结构试题大题编程及参考答案--第1页

数据结构试题大题编程及参考答

案(总6页)

--本页仅作为文档封面,使用时请直接删除即可--

--内页可以根据需求调整合适字体及大小--

数据结构试题大题编程及参考答案--第1页

数据结构试题大题编程及参考答案--第2页

数据结构考试题参考答案

1、设顺序表L中的数据元素递增有序。试写一算法,将数据元素x插入到顺序

表L的适当位置,以保持该表的有序性。

解:存储结构为:

typedefstructSeqList

{DataType*data;

intMaxLen;

intlen;

}SeqList;

算法如下:

voidinsertLx(SeqListL,DataTypex)

{if==return;

inti=;

while(i=0x[i])

{[i+1]=[i];i=i-1;}

[i+1]=x;++;

}

2、试写一个算法,在带头结点的单链表L的元素x前插入一个结点y。

解:存储结构如下:

typedefstructLnode

{ElemTypedata;

structLnode*next;

}Lnode,*LinkList;

算法如下:

voidinsert_y_before_x(LinkListL,ElemTypex,ElemTypey)

{Lnode*q,*p=L;

while(p-nextp-next-data!=x)p=p-next;//找x的前驱结点p;

if(!p-next)return;//若不存在结点x,则返回;

q=newLnode;

q-data=y;q-next=p-next;p-next=q;

}

3、试写一个算法,统计带头指针的单链表L的元素个数。

解:存储结构如下:

typedefstructLnode

{ElemTypedata;

structLnode*next;

}Lnode,*LinkList;

算法如下:

intlength(LinkListL)

{intlen=0;

Lnode*p=L;

while(p){len++;p=p-next;}

2

数据结构试题大题编程及参考答案--第2页

数据结构试题大题编程及参考答案--第3页

returnlen;

}

注:如果单链表是带头结点的,则算法如下:

intlength(LinkListL)

{intlen=0;

Lnode*p=L-next;;

while(p){len++;p=p-next;}

returnlen;

}

4、试写一个算法,在带头结点的单链表L的第k个结点后插入一个结点x。

解:

存储结构如下:

typedefstructLnode

{ElemType

文档评论(0)

139****3798 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档