第十四周实践项目~验证折半查找算法
2015-12-14 17:15
330 查看
#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; while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (R[mid].key>k) //继续在R[low..mid-1]中查找 high=mid-1; else low=mid+1; //继续在R[mid+1..high]中查找 } return 0; } int main() { int i,n=10; int result; SeqList R; KeyType a[]= {12,18,24,35,47,50,62,83,90,115,134},x=100; 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; }
当x=47时
运行结果:
当x=83时:
当x=99时:
相关文章推荐
- 第12周项目4利用遍历思想求解图问题(1-5)
- 第十六周项目3-归并排序算法的改进
- yii2 查询数据库语法
- 判断手机终端并自动跳转js代码及使用实例
- [超光速与空间]超光速与预测
- Java Thread.join()详解
- 利用phpmail封装类来发送邮件
- CentOS 6.5 下 QT4 连接 mysql 数据库的步骤
- js控制tr 隐藏 显示
- UICollectionView的简单使用(一)
- 第十六周项目1-验证算法选择排序之堆排序
- Linux中线程与CPU核的绑定
- 第十六周项目2—交换排序之快速排序
- cairo库网站
- 第十四周项目5 二叉排序树的查找
- Oracle中的join
- 【Python】Python编码和Unicode
- linux 实现VLAN
- 2015年,剩余的天数不多,你醒了吗?
- 关于这些日子以来改iOS9兼容性的问题总结