博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法不会,尚能饭否之折半查找(Binary search)
阅读量:4943 次
发布时间:2019-06-11

本文共 1364 字,大约阅读时间需要 4 分钟。

    已经好长时间没有写算法了,今天就写了一个简单的折半查找的算法,很简单。来瞧瞧吧!好了,现在就开始吧!

     所谓折半查找,哦,对了,以前的那篇折半排序博文,如果大家看过的话,折半查找那是小 case 了!当然不在话下了。

     何为折半查找,就是查找一个数是否在一个给定的排好序的序列中。每次从序列的中间开始比较,如果,中间的数要比你要查找的数字大,那就忽略中间以右的那一部分(当然,我的前提是,序列是升序排列的),就在左部分查找你要查找的值,如果找到了,恭喜你,否则,抱歉,没有找到。就是这个思想,很简单。好了,贴出我的代码,代码才能说明问题,是吧!

//BinarySearch.cpp #include <iostream> using namespace std; #define true 1 #define false 0 int BinarySearch(const int [], int, int); //Binary Search function int main() { int iNum; int iResult; int iValue; cout<<"Please input the number of Array:"; cin>>iNum; int *Array = new int[iNum]; //Input the elements of Array cout<<"Please input the elements of Array:"; for (int i = 0; i < iNum; ++i) { cin>>Array[i]; } cout<<"Please input the value which you want to search:"; cin>>iValue; iResult = BinarySearch(Array, iNum, iValue); if (1 == iResult) { cout<<iValue<<" is in the Array!"<<endl; } else { cout<<iValue<<" is not in the Array!"<<endl; } } //If succeed,return 1, else return 0 int BinarySearch(const int Array[], int num, int value) { int iLeft = 0; int iRight = num - 1; int iMiddle; while (iLeft <= iRight) { iMiddle = (iLeft + iRight) / 2; if (Array[iMiddle] < value) { iLeft = iMiddle + 1; } else if (Array[iMiddle] > value) { iRight = iMiddle - 1; } else { return 1; } } return 0; }

好了,代码,已经有了,如果还有什么问题, call me

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/04/2509893.html

你可能感兴趣的文章
基于busybox制作mini2440根文件系统及使用nfs挂载
查看>>
信道容量及信道编码原理学习
查看>>
浅谈独立特征(independent features)、潜在特征(underlying features)提取、以及它们在网络安全中的应用...
查看>>
从随机过程的熵率和马尔科夫稳态过程引出的一些思考 - 人生逃不过一场马尔科夫稳态...
查看>>
《A First Course in Abstract Algebra with Applications》-chaper1-数论-关于素数
查看>>
ORA-3136
查看>>
算法笔记_145:拓扑排序的应用(Java)
查看>>
JS获取农历日期
查看>>
PHP中的HTTP协议
查看>>
CSS给文字描边实现发光文字
查看>>
Java WebService入门实例
查看>>
css样式之补充
查看>>
结构与联合
查看>>
关于JS历史
查看>>
软件架构师工作流程
查看>>
将txt文本转换为excel格式
查看>>
BUPT复试专题—众数(2014)
查看>>
css-sprite切割图片(加快网页加载速度)
查看>>
20145316 《信息安全系统设计基础》第十四周学习总结
查看>>
Liferay7 BPM门户开发之18: 理解ServiceContext
查看>>