最近被人问题,事隔三年了,貌似没什么进步,又写了一遍。
#include <iostream>
#include <string>
using namespace std;
int binary(int array[], int size, int tag);
int main(int argc, char *argv[])
{
int array[10] = {0, 11, 22, 33, 44, 55, 66, 77, 88, 99};
cout << binary(array, 10, 0) << endl;
cout << binary(array, 10, 99) << endl;
cout << binary(array, 10, 55) << endl;
cout << binary(array, 10, -23) << endl;
cout << binary(array, 10, 123) << endl;
return 0;
}
int binary(int array[], int size, int tag)
{
int beg = 0;
int end = size - 1;
int pos = 0;
while (beg <= end)
{
pos = (beg + end) / 2;
if (array[pos] == tag) return pos;
if (tag > array[pos])
beg = pos + 1; // tag 在右边
else
end = pos - 1; // tag 在左边
}
return -1;
}
分享到:
相关推荐
折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)
数据结构习题---折半查找代码 void BinInsert(int A[],int &n,int item) { int j,low=1,high=n,mid; while(low) { /* 利用折半查找法查找合适位置*/ mid=(low+high)/2; /* 计算当前查找部分的中间位置*/ if...
由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找整数m在数组中的位置。若找到,返回其下标值;反之,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围...
静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法静态查找表。实现有序表的折半查找算法
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
折半查找是数据结构中,查找的其中一种。此资源不但包括折半查找的算法,还包括帮助其运行的其他代码,可直接运行以实现折半查找。注:输入数据时,要将数据从大到小依次输入,方可实现折半查找。
折半查找的递归算法,非常实用,可以实现的C语言程序
查找问题(顺序查找法, 折半查找法,)基本思想:一列数放在数组a(1)---a(n)中,待查找的数放在x 中,把x与a数组中的元素从头到尾一一进行比较查找。用变量p表示a数组元素下标,p初值为1,使x与a(p)比较,如果x不等于a...
主要为大家详细介绍了C语言实现顺序表的顺序查找和折半查找,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
折半查找c语言函数, 在数组总查找 例子
数据结构折半查找,用于C语言版的数据结构。
会变课程设计 任意输入待比较的一组数据,排序,之后再输入需要查找的数,运行即可实现折半查找,界面友好
二叉排序树 折半查找
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
本程序共包含2个查找程序,分别是顺序查找和折半查找。
在该程序中,实现了在10个元素中查找20,用了顺序查找方法和折半查找方法。
java 快速排序 折半查找的界面实现 (递归与分治法)
折半查找算法在顺序表中插入一个元素讲解.pdf
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
用C语言实现折半查找,折半查找算法较简单