二分法查找函数c语言 二分法查找c语言程序

谁能用c语言帮我写个二分法的查找程序??#includestdlib.h
void
sort(int
a[],int
n){
/*排序函数,要使用二分法查找就必须对数组进行排序*/
int
i,k;
for(i=0;in;i){
int
min=i;
for(k=i 1;kn;k)
if(a[min]a[k])min=k;
if(i!=min){
a[min] =a[i];/*这里是运用加减法交换两个数*/
a[i]=a[min]-a[i];
a[min]-=a[i];
}
}
}
int
find(int
a[],int
n,int
key){/*二分法查找二分法查找函数c语言;参数:数组名 , 数组长度,查找关键字*/
int
min=0,max=n-1;/*二分法查找头尾变量*/
while(minmax){/*如果最头二分法查找函数c语言的变量值大于最尾变量的值,则查找不到,查找失败*/
int
cen
=
(min max)/2;
if(a[cen]==key)
return
cen;/*如果查到,则返回关键字在排序数组的下标*/
if(cen==min
||
cen==max)break;/*如果中间变量等于头尾任一个变量,同样查找失败*/
if(a[cen]key)
max=cen;
else
min=cen;
}
return
-1;
}
void
main(){/*主程序只是为二分法查找函数c语言了证明两个函数的可行性 , 可以自己编写*/
int
【二分法查找函数c语言 二分法查找c语言程序】a[]={14,10,25,36,87,95,10,12,13,8},i;
sort(a,10);
i=find(a,10,11);
if(i!=-1)
printf("be
found");
else
printf("no
found");
getch();
}
C语言编程二分法二分法所属现代词,指的是数学领域的概念 , 经常用于计算机中的查找过程中 。数学方面牛顿二分法
一般地 , 对于函数f(x),如果存在实数c,当x=c时,若f(c)=0,那么把x=c叫做函数f(x)的零点 。
解方程即要求f(x)的所有零点 。假定f(x)在区间(x,y)上连续先找到a、b属于区间(x , y),使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a b)/2],
现在假设f(a)0,f(b)0,a 。
C语言二分法查找#include stdio.h//不用math头文件
void main()
{int high = 9,low = 0,m,k,a[10]={1,2,3,4,5,6,7,8,9,10};//hing和low赋初值
scanf("%d",k);
while (high=low)//=
{
m=(high low)/2;
if(ka[m]) high=m-1;//比较的是数值而不是下标
else if(ka[m]) low=m 1;
else
{
printf("yes");
return;//这两句地方放错了
}
}
printf("no");
return;//if语句去掉
}
关于二分法查找函数c语言和二分法查找c语言程序的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读