- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 数据仓库报告-赖辉.doc
- 数据仓库的构建和ETL课程设计.doc
- 数字电路及系统课程设计.doc
- 数据库-超市会员管理系统.doc
- 数据可视化实验报告.doc
- 数据库原理与应用实验5.doc
- 数据库原理A(2013上).doc
- 数据库原理习题.doc
- 数据库创建与交互式SQL数据操作.doc
- 数据库原理及应用第二次上机实践.doc
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)