二分查找算法1
2010-11-08 19:06
225 查看
#include <iostream> //二分查找法一
using namespace std;
int Binary_search(int b[],int value,int n=9)
{
int hight=9,low=0,mid;
while (hight>=low) //注意两者相等的情况
{
mid=(hight+low)/2;
if (value==b[mid])
{
cout << "查找成功!";
return mid;
}else if(value>b[mid]){
low=mid+1;
}else if(value<b[mid]){
hight=mid-1;
}else{}
}
cout << "查找失败!";
return -1;
}
int main()
{
int value;
int a[100]={1,2,3,4,5,6,7,8,9,10};
while (cin >> value) //为什么我一输入小数就跳出循环并且错误!
{
int t;
t=Binary_search(a,value);
for (int i=0;i<10;i++)
{
cout << a[i] << " " ;
}
if (t==-1)
{
}else{
cout<< "下标为:"<<t << endl;
}
}
return 0;
}
using namespace std;
int Binary_search(int b[],int value,int n=9)
{
int hight=9,low=0,mid;
while (hight>=low) //注意两者相等的情况
{
mid=(hight+low)/2;
if (value==b[mid])
{
cout << "查找成功!";
return mid;
}else if(value>b[mid]){
low=mid+1;
}else if(value<b[mid]){
hight=mid-1;
}else{}
}
cout << "查找失败!";
return -1;
}
int main()
{
int value;
int a[100]={1,2,3,4,5,6,7,8,9,10};
while (cin >> value) //为什么我一输入小数就跳出循环并且错误!
{
int t;
t=Binary_search(a,value);
for (int i=0;i<10;i++)
{
cout << a[i] << " " ;
}
if (t==-1)
{
}else{
cout<< "下标为:"<<t << endl;
}
}
return 0;
}
相关文章推荐
- 算法---冒泡排序,快速排序,二分查找(折半查找),选择排序,插入排序
- 【算法基础】二分查找
- python算法和数据结构笔记--递归--二分查找
- java简单算法(二分查找 冒泡排序 判断是否为素数)
- 算法回顾(三) 二分查找
- 二分查找算法-C++
- js实现常见的几种算法(数组去重、字符统计、二分查找等)
- 最长上升子序列——O (nlogn)算法原因解析!为什么这样可以求出来!(附带动态规划dp + 二分查找讲解)
- [数据结构与算法] : 二分查找
- 二分查找算法实例注释
- 二分算法入门——二分查找
- Swift - 二分查找算法
- js基本算法:冒泡排序,二分查找的简单实例
- 二分查找算法----递归&&非递归
- 算法四 二分查找 java,c,c++
- 二分查找算法java
- 【算法】二分查找
- 一些基本算法--归并两个数组,二分查找
- 二分查找求上下界的两种不同算法
- STL中二分查找相关算法(binary_search, lower_bound, upper_bound, equal_range)