admin管理员组文章数量:1794759
在顺序数组中利用二分法寻找想要的数
今天学习了如何在数组中找到想要的数,以及如何利用二分法来更有效的寻找数组中的数,二分法寻找数组中的数代码如下:
#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循环语句的判断条件的使用以及关于数组起始和末端找寻所用到的条件。
版权声明:本文标题:在顺序数组中利用二分法寻找想要的数 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686892754a115192.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论