数据结构上考试试题(C++语言版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构上机考试试题(C++语言版) 考试要求:本次考试共列考核试题4大题,考生可以在所列4个考核试题中任选3个小题(即可能只属于2个大题),作为上机考核试题。 考核原则:所选题目在上机编程调试通过后即为考核通过。监考教师依据学生编程及调试通过与否情况给予考核成绩。 考核成绩评分标准: 所选3个题目全部编写出程序并调试通过:优 所选3个题目全部编写出程序,但只有2个上机调试通过:良 所选3个题目全部编写出程序,但只有1个上机调试通过:及格 所选3个题目全部编写出程序但都没有上机调试通过,或没有编写出全部程序:不及格。 考核时间:2小时。 考核试题: 1、建立一个顺序方式存储的线性表,向表中输入若干元素后进行以下操作: (1)向线性表的表头、表尾或合适位置插入元素 (2)对线性表按升序或降序输出 2、建立一个动态链接方式存储的线性表,向表中输入若干元素后进行以下操作: (1)从单链表中查找指定元素 (2)返回单链表中指定序号的结点值 3、建立一个动态链接结构存储的二叉树,向这棵二叉树进行以下操作: (1)按任中序遍历次序输出二叉树中的所有结点 (2)求二叉树的叶子数 4、编写一个对整型数组A[n+1]中的A[1]至A[n]元素进行选择排序的算法,使得首先从待排序区间中选择出一个最大值并同最后一个元素交换,再从待排序区间中选择出一个最小值并同最第一个元素交换,反复进行直到待排序区间中元素的个数不超过1为止。 #includeiomanip.h #includestdlib.h #includelinearlist1.h //初始化线性表 void InitList(LinearList L, int ms) { L.list=new ElemType[ms]; if(!L.list) { cerrMemory allocation failure!endl; exit(1); } L.size=0; L.MaxSize=ms; } //清空线性表 void ClearList(LinearList L) { L.size=0; } //求线性表长度 int ListSize(LinearList L) { return L.size; } //检查线性表是否为空 bool ListEmpty(LinearList L) { return L.size==0; } //检查线性表是否为满 bool ListFull(LinearList L) { return L.size==L.MaxSize; } //遍历线性表 void TraverList(LinearList L) { for(int i=0; iL.size; i++) coutL.list[i] ; coutendl; } //从线性表中查找元素 bool FindList(LinearList L, ElemType item) { for(int i=0; iL.size; i++) if(L.list[i]==item) { item=L.list[i]; return true; } return false; } //更新线性表中的给定元素 bool UpdateList(LinearList L, const ElemType item) { for(int i=0; iL.size; i++) if(L.list[i]==item) { L.list[i]=item; return true; } return false; } //向线性表的表头、表尾或合适位置插入元素 bool InsertList(LinearList L, const ElemType item, int mark) { if(ListFull(L)) return false; if(mark0) { for(int i=L.size-1; i=0; i--) L.list[i+1]=L.list[i]; L.list[0]=item; } else if(mark0) L.list[L.size]=item; else {for(int i=0; iL.size; i++) if(itemL.list[i]) break; for(int j=L.size-1; j=i; j--) L.list[j+1]=L.list[j]; L.list[i]=item; } L.size++; return true; } //从线性表中删除表头、表尾或等于给定值的元素 bool Dele

文档评论(0)

mv2323 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档