码迷,mamicode.com
首页 > 编程语言 > 详细

c语言:编写折半查找函数

时间:2015-12-17 19:26:37      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:c语言:编写折半查找函数

编写折半查找函数

程序:

#include <stdio.h>

int binsearch(int xint arr[], int len)//binsearch 折半,对分

{

int left = 0;

int right = len - 1;

while (left <= right)

{

int mid = left + (right - left) / 2;

if (arr[mid] < x)

{

left = mid + 1;

}

else if (arr[mid] == x)

{

return mid;

}

else

{

right = mid - 1;

}

return -1;

}

}

int main()

{

int arr[] = { 1, 21, 33, 46, 5, 62, 70, 81, 99, 10 };

int num = 0;

int sz = sizeof(arr) / sizeof(arr[0]);

printf("请输入一个数:");

scanf("%d", &num);

int ret = binsearch(num, arr, sz);

if (ret == -1)

{

printf("not exist\n");

}

else

{

printf("数的位置:%d\n", ret + 1);

}

return 0;

}

结果一:

请输入一个数:81

数的位置:8

请按任意键继续. . .

结果二:

请输入一个数:83

not exist

请按任意键继续. . .


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1725712

c语言:编写折半查找函数

标签:c语言:编写折半查找函数

原文地址:http://yaoyaolx.blog.51cto.com/10732111/1725712

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!