#define MAX 100
int n = 0;
int x[MAX];//seq data array {x[0] < ... x[max - 1]}
int binary(int t)
{
int l, u;
if(x[0] > t ||x[n] < t || n < 0){
printf("input error \n");
return -1;
}
l = 0;
u = n;
while (l <= m) {
m = (l + u) / 2;
if (x[m] < t) {
l = m + 1;
} else if (x[m] > t) {
u = m - 1;
} else { //find it
return m;
}
}
return -1;
}
int p[MAX]; //用于检验的数组顺序是打乱的
int main(void)
{
int i = 0;
printf("please input n( <%d)", MAX);
scanf("%d", &n);
for (i = 0; i < n;i++) {
if (-1 == binary(p[i])) {
printf("fail to find p[%d] = %d \n", i, p[%d]);
}
}
}
分享到:
相关推荐
折半查找的递归算法,非常实用,可以实现的C语言程序
折半查找算法,折半查找算法,折半查找算法
静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法静态查找表。实现有序表的折半查找算法
折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)
折半查找算法,c、c++,数据结构课本中讲解的算法实现。
该算法是在折半算法的基础上,推广折段的段数,通过简单的数学模型证明了最优的分段数为3,而不是2(即折半)。在文章的最后给出了算法的C程序代码。如果有应用到实际中,算法还可以进一步精简。
折半查找算法在顺序表中插入一个元素讲解.pdf
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
本资源为算法课程实验,用C++实现了折半查找,能帮助同学完成课程实验
折半查找算法 顺序表 折半查找算法C语言版
用C语言实现折半查找,折半查找算法较简单
数据结构课程设计-综合查找算法(顺序查找、折半查找、二叉排序树、哈希表) 可以在Microsoft Visual C++ 上运行没有错误 包括论文word文档,答辩的ppt等
包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...
折半查找是数据结构中,查找的其中一种。此资源不但包括折半查找的算法,还包括帮助其运行的其他代码,可直接运行以实现折半查找。注:输入数据时,要将数据从大到小依次输入,方可实现折半查找。
折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low),然后把m于中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之后的元素中;反之,下一...
两种查找算法,二叉树查找,折半查找 时通过严蔚敏那本书的算法而来
本书是折半查找算法的标准教材,目的是让大家知道好的程序设计和算法分析技巧,难得一见的好书!
递归调用的折半查找java代码,算法分析与设计实验报告。