今天学习了如何在数组中找到想要的数,以及如何利用二分法来更有效的寻找数组中的数,二分法寻找数组中的数代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
int main()
{
int arr[] = {1,2,3,4,5,6,7,8,9,10};
int a = sizeof(arr)/sizeof(arr[0]);
int b;
int right = a-1;
int left = 0;
printf("请输入想要查找的数:");
scanf("%d",&b);
while (left<=right)
{ int mid = (right + left)/2;
if (b<arr[mid])
right = mid - 1;
else if (b>arr[mid])
left = mid + 1;
else
{
printf("输入数在数组的下标为:%d\n",mid);
break;
}
}
if (left>right)
printf("数组中不存在输入数\n");
}
总结:
二分法寻找数组中的数想较于遍历方法可以提高代码效率,在使用二分法时要注意while循环语句的判断条件的使用以及关于数组起始和末端找寻所用到的条件。