编写代码在一个整形有序数组中查找具体的某个数
要求:找到了就打印数字所在的下标,找不到则输出:找不到。
代码如下。
说明
1)sizeof 是C语言保留关键字,也为单目运算符,用于求某个数据类型所占用的字节数
2)注意循环条件为(left <= right),若少了等号,会出现错误。
3)二分查找是通过中间值与所求值大小的比较,一步步缩小所求值所在的范围。
4)if (num > a[mid]) left = mid + 1;else if (num < a[mid]) right = mid - 1;因为mid已经被排除,令 left = mid + 1, right = mid - 1进一步缩小范围,优化代码。