博客
关于我
写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)
阅读量:231 次
发布时间:2019-03-01

本文共 672 字,大约阅读时间需要 2 分钟。

写代码可以在整型有序数组中查找想要的数字,

找到了返回下标,找不到返回-1.(折半查找)

#include
#include
int binarysearch(int arr[], int size, int tofind) { int left = 0; int right = size - 1; while (left <= right) { int mid = (left + right) / 2; if (tofind > arr[mid]) { left = mid + 1; } if (tofind < arr[mid]) { right = mid - 1; } if (tofind == arr[mid]) { //printf("查找元素的下标是:%d\n", mid); return mid; } } return -1;}int main() { int arr[] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7}; int size = sizeof(arr) / sizeof(arr[0]); int num = binarysearch(arr, size, 8); if (num == -1) { printf("找不到!\n"); } else printf("查找元素的下标是:%d\n", num); system("pause"); return 0;}

转载地址:http://ewnv.baihongyu.com/

你可能感兴趣的文章
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>