本文主要是介绍返回有序数组中你想要查找数字的下表,找不到返回-1(折半查找),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回 - 1.(折半查找)
解决思路:
全局分析://定义数组和判断数组中的元素个数
//判断是否查到到你想要的数字
//确定返回值
//代码实现如下:
#include<stdio.h>
#include<stdlib.h>//写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回 - 1.(折半查找)int main()
{//定一个整形数组int arr[] = { 1, 2, 3, 4, 5 };//判断数组中元素的总数int to_find = 4;int left = 0;int right = sizeof(arr) / sizeof(arr[0]) - 1;int mid = 0;//判断是否查找到想要的数字while (left <= right){mid = (left + right) / 2;if (to_find < arr[mid]){right = mid - 1;}else if (to_find > arr[mid]){left = mid + 1;}else{break;}}if (left <= right){printf("下表为 :%d\n", mid);}else{printf("%d\n", -1);}system("pause");return 0;
}
//运行结果:
持之以恒,做人生赢家。
这篇关于返回有序数组中你想要查找数字的下表,找不到返回-1(折半查找)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!