网站大量收购独家精品文档,联系QQ:2885784924

数据结构实验五.doc

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

实验五 查找与排序 实验课程名: 数据结构与算法 专业班级: 15软件工程1班 学号: 201540550119 姓名: 李志强 实验时间: 3.17-3.24 实验地点: K4-207 指导教师: 祁文青 一、实验目的和要求 1、掌握查找的不同方法,并能用高级语言实现查找算法。 2、熟练掌握顺序表的查找方法和有序顺序表的折半查找算法。 3、掌握常用的排序方法,并能用高级语言实现排序算法。 4、深刻理解排序的定义和各种排序方法的特点,并能加以灵活运用。 5、了解各种方法的排序过程及依据的原则,并掌握各种排序方法的时间复杂度的 二、实验内容 任务一:顺序表的顺序查找 完成下列程序,该程序实现高考成绩表(如下表所示)的顺序查找,在输出结果中显示查找成功与查找不成功信息。 准考证号 姓名 各科成绩 总分 政治 语文 外语 数学 物理 化学 生物 179328 何芳芳 85 89 98 100 93 80 47 592 179325 陈红 85 86 88 100 92 90 45 586 179326 陆华 78 75 90 80 95 88 37 543 179327 张平 82 80 78 98 84 96 40 558 179324 赵小怡 76 85 94 57 77 69 44 502 (1)源代码如下: #include string.h #include iostream #include fstream using namespace std; #define N 5 #define EQ(a, b) ((a) == (b)) #define LT(a, b) ((a) (b)) #define LQ(a, b) ((a) = (b)) typedef long KeyType; #define key number typedef struct { long number; char name[10]; int politics; int Chinese; int English; int Math; int Physics; int Chemistry; int Biology; int total; }ElemType; typedef struct { ElemType *elem; int length; }SSTable; void Creat_Seq(SSTable ST, ElemType *r, int n) { int i, j; ST.elem = new ElemType[n + 1]; if (!ST.elem) exit(0); for (i = 1, j = 0; i = n; ++i, ++j) { ST.elem[i].number = r[j].number; strcpy(ST.elem[i].name, r[j].name); ST.elem[i].politics = r[j].politics; ST.elem[i].Chinese = r[j].Chinese; ST.elem[i].English = r[j].English; ST.elem[i].Math = r[j].Math; ST.elem[i].Physics = r[j].Physics; ST.elem[i].Chemistry = ST.elem[j].Chemistry; ST.elem[i].Biology = r[j].Biology; ST.elem[i].total = r[j].total; } ST.length = n; } void Ascend(SSTable ST) { int i, j, k; for (i = 1; i ST.length; ++i) { k = 1; ST.elem[0] = ST.elem[k]; for (j = i + 1; j = ST.length; ++j) { if (LT(ST.elem[j].key, ST.elem[0].key)) { k = j; ST.elem[0] = ST.elem[j]; } } if (k != i) { ST.elem[k] = ST.elem[i]; ST.elem[i] = ST.elem[0]; } } } void Creat_Ord(SSTable ST, E

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档