标签:turn std sea include 猜数字游戏 符号 microsoft 函数 []
1.二分查找也叫折半查找,它是对于一组有序(升序或降序)数列来说的,举例:猜数字游戏 ,随机给出1-100内的一个数字,请猜出这个数字 那我们不能随机没有规律的去猜,这时考虑二分查找的思想
2.给出一个升序数组arr[10]={0,1,2,3,4,5,6,7,8,9},要求用二分查找的方法找出4。
3.C语言代码:
#include<stdio.h> int binary_search(int arr[], int left, int right, int num)//二分查找函数 给出做右下标在此范围内找 { int mid = 0; while (left <= right) { mid = left + ((right - left) >> 1);//这样求中间的数的下标安全>>为右移符号,右移1等于除以2 if (num <arr[mid]) right = mid; else if (num > arr[mid]) left = mid; else return mid; } return -1; } int main() { int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int num = 3; int tmp = binary_search(arr, 0, 9, num); if (tmp!=-1) printf("exist the number is:%d", tmp); else printf("no exist!"); return 0; }
标签:turn std sea include 猜数字游戏 符号 microsoft 函数 []
原文地址:https://www.cnblogs.com/always-fight/p/8821468.html