- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科生实验报告
(五)
姓名:
学院:
专业:
班级:
实验课程名称:数据结构实验
实验日期: 2013年6月19 日
指导教师及职称:
实验成绩:
开课时间:2012~2013 学年 第二学期
实验管理中心印制
实验题目
数据结构实验(五)
小组合作
姓名
班级
学 号
一、实验目的
A.查找的实验:
9.1.实现顺序查找的算法。
9.2.实现二分查找的算法。
9.3.实现分块查找的算法。
9.4.实现二叉排序树的基本运算算法。
9.5.统计一个字符串中出现的字符及其次数。
9.6.实现二叉平衡树的相关运算算法。
9.7.实现B-树的相关运算算法。
9.8.实现哈希表的相关运算算法。
B.内排序的实验:
10.1.实现直接插入排序算法。
10.2.实现希尔插入排序算法。
10.3.实现冒泡排序算法。
10.4.实现快速排序算法。
10.5.实现直接选择排序算法。
10.6.实现堆排序算法。
10.7.实现二路归并排序算法。
10.8.实现基数排序算法。
10.9.实现可变长度的字符串序列快速排序算法。
10.10.实现英文单词按字典序排列的基数排序算法。
二.实验环境
计算机,Visual C++ 6.0
三、实验内容与步骤
9.1:设计一个程序exp9-1.cpp,输出在顺序表{3,6,2,10,1,8,5,7,4,9}中采用顺序方法查找关键字5的过程。
主程序如下:
#include stdio.h
#define MAXL 100 //定义表中最多记录个数
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
KeyType key; //KeyType为关键字的数据类型
InfoType data; //其他数据
} NodeType;
typedef NodeType SeqList[MAXL]; //顺序表类型
int SeqSearch(SeqList R,int n,KeyType k) //顺序查找算法
{
int i=0;
while (in R[i].key!=k)
{
printf(%d ,R[i].key);
i++; //从表头往后找
}
if (i=n)
return -1;
else
{
printf(%d,R[i].key);
return i;
}
}
void main()
{
SeqList R;
int n=10,i;
KeyType k=5;
int a[]={3,6,2,10,1,8,5,7,4,9};
for (i=0;in;i++) //建立顺序表
R[i].key=a[i];
printf(关键字序列:);
for (i=0;in;i++)
printf(%d ,R[i].key);
printf(\n);
printf(查找%d所比较的关键字:\n\t,k);
if ((i=SeqSearch(R,n,k))!=-1)
printf(\n元素%d的位置是%d\n,k,i);
else
printf(\n元素%d不在表中\n,k);
printf(\n);
}
运行结果如下:
9.2:设计一个程序exp9-2.cpp,输出在顺序表{1,2,3,4,5,6,7,8,9,10}中采用二分查找法查找关键字9的过程。
主程序如下:
#include stdio.h
#define MAXL 100 //定义表中最多记录个数
typedef int KeyType;
typedef char InfoType[10];
typedef struct
{
KeyType key; //KeyType为关键字的数据类型
InfoType data; //其他数据
} NodeType;
typedef NodeType SeqList[MAXL]; //顺序表类型
int BinSearch(SeqList R,int n,KeyType k) //二分查找算法
{
int low=0,high=n-1,mid,count=0;
while (low=high)
{
mid=(low+high)/2;
printf( 第%d次比较:在[%d,%d]中比较元素R[%d]:%d\n,++count,low,high,mid,R[mid].key);
i
您可能关注的文档
- 机械工程测试技术基础(专科).doc
- 机械设计课程设计二级直齿圆柱齿轮减速器设计说明书2.doc
- 明治维新与戊戌变法的对比--关于近代殖民地国家复兴之路的思考.ppt
- 某化工企业安全评价报告.doc
- 上传版美英法袭击叙利亚事件PPT.pptx
- 政治新闻事件PPT.ppt
- 大班综合活动.ppt
- 起重机械安全使用培训(原创).pptx
- 2025秋苏科版(新教材)小学信息科技四年级上册期末测试卷附答案.docx
- 2025秋苏科版(新教材)小学信息科技五年级上册期末测试卷附答案(共3套).docx
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
原创力文档


文档评论(0)