查找与排序实验报告

上传人:第*** 文档编号:39008151 上传时间:2018-05-10 格式:DOC 页数:4 大小:44.50KB
返回 下载 相关 举报
查找与排序实验报告_第1页
第1页 / 共4页
查找与排序实验报告_第2页
第2页 / 共4页
查找与排序实验报告_第3页
第3页 / 共4页
查找与排序实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《查找与排序实验报告》由会员分享,可在线阅读,更多相关《查找与排序实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、实验四:查找与排序实验四:查找与排序【实验目的实验目的】1.掌握顺序查找算法的实现。掌握顺序查找算法的实现。2.掌握折半查找算法的实现。掌握折半查找算法的实现。【实验内容实验内容】1.编写顺序查找程序,对以下数据查找编写顺序查找程序,对以下数据查找 37 所在的位置。所在的位置。5,13,19,21,37,56,64,75,80,88,922.编写折半查找程序,对以下数据查找编写折半查找程序,对以下数据查找 37 所在的位置。所在的位置。5,13,19,21,37,56,64,75,80,88,92【实验步骤实验步骤】1.打开打开 VC+。2.建立工程:点建立工程:点 File-New,选,选

2、 Project 标签,在列表中选标签,在列表中选 Win32 Console Application,再在右边的框里为工程起好名字,选好路径,点,再在右边的框里为工程起好名字,选好路径,点 OK-finish。至此工程建立完毕。至此工程建立完毕。 3.创建源文件或头文件:点创建源文件或头文件:点 File-New,选,选 File 标签,在列表里选标签,在列表里选 C+ Source File。给文件起好名字,选好路径,点。给文件起好名字,选好路径,点 OK。至此一个源文件就被添。至此一个源文件就被添加到了你刚创建的工程之中。加到了你刚创建的工程之中。 4写好代码写好代码 5编译链接调试编译

3、链接调试 #include#include “stdio.h“stdio.h“#include#include “malloc.h“malloc.h“#define#define OVERFLOWOVERFLOW -1-1#define#define OKOK 1 1#define#define MAXNUMMAXNUM 100100typedeftypedef intint Elemtype;Elemtype;typedeftypedef intint Status;Status;typedeftypedef structstruct ElemtypeElemtype *elem;*elem

4、;intint length;length;SSTable;SSTable;StatusStatus InitList(SSTableInitList(SSTable i,n;ST.elemST.elem = = (Elemtype*)(Elemtype*) mallocmalloc (MAXNUM*sizeof(MAXNUM*sizeof (Elemtype);(Elemtype); ifif (!ST.elem)(!ST.elem) return(OVERFLOW);return(OVERFLOW);printf(“printf(“输入元素个数和各元素的值输入元素个数和各元素的值:“);:

5、“);scanf(“%dn“,scanf(“%dn“,for(i=1;i=n;i+)for(i=1;i=n;i+) scanf(“%d“,scanf(“%d“, ST.lengthST.length = = n;n;returnreturn OK;OK; intint Seq_Search(SSTableSeq_Search(SSTable ST,ElemtypeST,Elemtype key)key) intint i;i;ST.elem0=key;ST.elem0=key;for(i=ST.length;ST.elemi!=key;-i);for(i=ST.length;ST.elemi!

6、=key;-i);returnreturn i;i; intint BinarySearch(SSTableBinarySearch(SSTable ST,ElemtypeST,Elemtype key)key) intint low,high,mid;low,high,mid;low=1;low=1;high=ST.length;high=ST.length;while(low=high)while(low=high) mid=(low+high)/2;mid=(low+high)/2;if(ST.elemmid=key)if(ST.elemmid=key)returnreturn mid;

7、mid;elseelse if(keyST.elemmid)if(keyST.elemmid) high=mid-1;high=mid-1;elseelse low=mid+1;low=mid+1; returnreturn 0;0; voidvoid main()main() intint key;key;SSTableSSTable ST;ST;InitList(ST);InitList(ST);printf(“printf(“输入查找的元素的值输入查找的元素的值:“);:“);scanf(“%d“,scanf(“%d“,Seq_Search(ST,key);Seq_Search(ST,k

8、ey);printf(“printf(“查找的元素所在的位置查找的元素所在的位置:%dn“,Seq_Search(ST,key);:%dn“,Seq_Search(ST,key);printf(“printf(“输入查找的元素的值输入查找的元素的值:“);:“);scanf(“%d“,scanf(“%d“,BinarySearch(ST,key);BinarySearch(ST,key);printf(“printf(“查找的元素所在的位置查找的元素所在的位置:%dn“,BinarySearch(ST,key);:%dn“,BinarySearch(ST,key); 【实验心得实验心得】这是本

9、学期的最后一节实验课,实验的内容是查找与排序。在老师的指导下,这是本学期的最后一节实验课,实验的内容是查找与排序。在老师的指导下,同学们相互探讨,很快就完成了任务。同学们相互探讨,很快就完成了任务。虽然课程结束了,但是它教给了我很多东西。实验前,对书本知识的理解;虽然课程结束了,但是它教给了我很多东西。实验前,对书本知识的理解;试验中,独立思考的能力和思考的方式;实验后,及时的复习和总结等。这些试验中,独立思考的能力和思考的方式;实验后,及时的复习和总结等。这些实验也增强了我的沟通能力,动手能力,理论在现实中的应用能力。这些都是实验也增强了我的沟通能力,动手能力,理论在现实中的应用能力。这些都是在书本上学不到的知识,我受益匪浅。在书本上学不到的知识,我受益匪浅。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号