实验四:查找与排序
【实验目的】
1. 掌握顺序查找算法的实现。
2. 掌握折半查找算法的实现。
【实验内容】
1. 编写顺序查找程序,对以下数据查找37所在的位置。
5,13,19,21,37,56,64,75,80,88,92
2. 编写折半查找程序,对以下数据查找37所在的位置。
5,13,19,21,37,56,64,75,80,88,92
【实验步骤】
1.打开VC++。
2.建立工程:点File->New,选Project标签,在列表中选Win32 Console Application,再在右边的框里为工程起好名字,选好路径,点OK->finish。至此工程建立完毕。
3.创建源文件或头文件:点File->New,选File标签,在列表里选C++ Source File。给文件起好名字,选好路径,点OK。至此一个源文件就被添加到了你刚创建的工程之中。
4.写好代码
5.编译->链接->调试
#include "stdio.h"
#include "malloc.h"
#define OVERFLOW -1
#define OK 1
#define MAXNUM 100
typedef int Elemtype;
typedef int Status;
typedef struct
{
Elemtype *elem;
int length;
}SSTable;
Status InitList(SSTable &ST )
{
int i,n;
ST.elem = (Elemtype*) malloc (MAXNUM*sizeof (Elemtype)); if (!ST.elem) return(OVERFLOW);
printf("输入元素个数和各元素的值:");
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&ST.elem[i]);
}
ST.length = n;
return OK;
}
int Seq_Search(SSTable ST,Elemtype key)
{
int i;
ST.elem[0]=key;
for(i=ST.length;ST.elem[i]!=key;--i);
return i;
}
int BinarySearch(SSTable ST,Elemtype key)
{
int low,high,mid;
low=1;
high=ST.length;
while(low<=high)
{
mid=(low+high)/2;
if(ST.elem[mid]==key)
return mid; else if(key<ST.elem[mid]) high=mid-1;
else
low=mid+1;
}
return 0;
}
void main()
{
int key; SSTable ST; InitList(ST); printf("输入查找的元素的值:"); scanf("%d",&key);
Seq_Search(ST,key);
printf("查找的元素所在的位置:%d\n",Seq_Search(ST,key)); printf("输入查找的元素的值:");
scanf("%d",&key);
BinarySearch(ST,key);
printf("查找的元素所在的位置:%d\n",BinarySearch(ST,key)); }
【实验心得】
这是本学期的最后一节实验课,实验的内容是查找与排序。在老师的指导下,同学们相互探讨,很快就完成了任务。
虽然课程结束了,但是它教给了我很多东西。实验前,对书本知识的理解;试验中,独立思考的能力和思考的方式;实验后,及时的复习和总结等。这些实验也增强了我的沟通能力,动手能力,理论在现实中的应用能力。这些都是在书本上学不到的知识,我受益匪浅。
本科学生实验报告
实验课程名称 数据结构(C语言版) 实验名称 排序与查找 开课学期 2009 至_ 2010 学年 _ 第二 学期
云南师范大学旅游与地理科学学院编印
一、实验准备
二、实验内容、步骤和结果
三、实验小结
实验十查找排序计算机学院12级2班1211020xx李龙实验目的1掌握折半查找算法的思想2实现折半查找的算法3掌握常见的排序算法插…
实验五查找与排序实验课程名数据结构与算法专业班级12级软件工程1班学号20xx40450149姓名刘浩实验时间61462134节实…
电子科技大学信息与软件工程学院实验报告电子科技大学实验报告课程名称学生姓名学号点名序号指导教师实验地点实验时间20xx20xx2学…
实验题91设计一个程序exp91cpp输出在顺序表36210185749中采用顺序方法找关键字5的过程程序如下文件名exp91cp…
信息检索课程结业报告姓学信息检索与web搜索应用背景及概念信息检索InformationRetrieval是指信息按一定的方式组织…
实验题91设计一个程序exp91cpp输出在顺序表36210185749中采用顺序方法找关键字5的过程程序如下文件名exp91cp…
学生成绩查询系统一实习任务2二系统分析3三系统设计4四调试排错测试试运行过程7五源程序完整或主要代码10六总结与体会17七参考文献…
附件2天津商业大学学生实验报告开课实验室403机房开课时间20xx年10月17日实验报告20xx年10月17日注1每个实验项目一份…
实验报告班级姓名学号实验1题目两个多位十进制数相加将两个多位十进制数相加要求加数均以ASCII码形式各自顺序存放在以DATA1和D…