【C语言】二分法初接触:有序数组 查找指定值
二分法查找:在数据有一定顺序的情况下,且遍历无法快速查找时使用
需根据上次查找范围的中间值,来对比指定值 确定下一次查找范围
每查找一次,下次查找范围缩小到上次查找范围的二分之一,故二分法
可以快速排除大部分无用数据,减少一定的时间复杂度
过程:
给定一个有序的 整型数组
int arr[20] = {
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 };
需要 找到其中某个数 在数组中的位置的下标
例如 需要找到 13 所在位置的下标
int num = 0;
scanf("%d", &num); //此语句输入 13 后 num = 13
二分法需要知道 数组中元素个数
int sz = sizeof(arr) / sizeof(arr[0])