第14周||析半查找
来源:互联网 发布:oracle linux 启动命令 编辑:程序博客网 时间:2024/06/05 22:43
/* *Copyright (c) 2017, 烟台大学计算机学院 *All rights reserved. *文件名称:ouyangdingtian.cpp *作 者:王百琛 *完成日期:2017年10月12日 *版 本 号:v1.0 * *问题描述:析半查找 *输入描述:无 *程序输出:测试结果 */ #include <stdio.h>#define MAXL 100typedef int KeyType; //定义了一个keytype的整型类型的变量typedef char InfoType[10]; //定义了一个字符类型的 infotypetypedef struct //定义了一个结构体类型的叫做 NodeType SeqList的顺序表类型 //其中里面包括了keytype的关键字数据类型,还有存放数据的data的数据存放的{ KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据} NodeType;typedef NodeType SeqList[MAXL]; //顺序表类型int BinSearch(SeqList R,int n,KeyType k) //定义了一个整型类型的函数,里面有顺序表类型的数组,还int了一个n,{ int low=0,high=n-1,mid; // while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (k<R[mid].key) //继续在R[low..mid-1]中查找 high=mid-1; //也就是说从刚才呢个中间呢的往左一个变成最大的了 else low=mid+1; //继续在R[mid+1..high]中查找 } return 0;}int main(){ int i,n=10; //定义了10个 int result; SeqList R; KeyType a[]= {1,3,9,12,32,41,45,62,75,77},x=75; for (i=0; i<n; i++) R[i].key=a[i]; result = BinSearch(R,n,x); if(result>0) printf("序列中第 %d 个是 %d\n",result, x); else printf("木有找到!\n"); return 0;}
测试的数据为76和75,所以会出现两个结果图。
对于程序的理解均写在了注释当中
阅读全文
0 0
- 第14周||析半查找
- 第14周 项目2-分块查找
- 第14周 项目2 分块查找
- 第14周||分块查找的学习
- 第14章 查找学生
- 第16周-折半查找
- 第14周项目4-电子词典(二分法查找)
- 第14周项目(1)-验证折半查找算法
- 第14周 项目1(1)-折半查找
- 第14周 项目1 - 验证算法 - 折半查找算法
- 第14周 项目1(2)-分块查找
- 第14周—项目1 折半查找
- 第14周—项目1(2)分块查找
- 第14周 项目1 - 验证算法 - 分块查找算法
- 第14周 项目1-(1)验证折半查找算法
- 第14周项目1(1)验证折半查找算法
- 【第14周 项目1 - (1)验证折半查找算法】
- 【第14周 项目1 - (2)验证分块查找算法】
- MapReduce(转载自百度)
- 用excel批量生成insert语句
- 十九、弹出框文字带超链接
- Http
- Andriod 多渠道分包,实用的module分层,开发代码混淆规
- 第14周||析半查找
- python实现实时人脸识别
- Linux系统安装mysql (CentOS )
- Oracle表空间、段、区和块简述【整理】
- 第十二周 【项目3
- Java类编译、加载、和执行机制
- JSP入门
- 第十周项目一 二叉树构造算法的验证---先序和中序序列构造二叉树(2)
- Android6.0 Sensor架构和问题分析