C语言中的择中,二分查找算法解析
16lz
2021-03-28
Define:
从某种意义上讲就是执行一次把所剩下的下标(开头和结尾)/2得一个中间量,然后进行比较找到自己想要找到的数。这样的算法会让执行过程简洁N倍。
写在前面: 我也只是个小白在博客上不断地锻炼自己,希望得到大家的喜欢,有什么问题我们共同交流,进步。
接下来我们举一个简单例子来表明我的思想。希望读者能够理解代码意思!!!!!!!
#include <stdio.h>#include <string.h>#include <Windows.h>#include <stdlib.h>int main(){int a,sz,left,right,mid;int num[]={1,2,3,4,5,6,7,8,9,10};printf ("Please enter a number:\n");scanf ("%d",&a);sz=sizeof(num)/sizeof(num[0])-1; //计算数组个数left=0; //定义数组开始和结尾下标值right=sz-1;while (left<=right) //循环体循环,需要读者自己去领悟{mid=(left+right)/2;if(num[mid]>a){right=mid-1;}else if(num[mid]<a){left=mid+1;}else{printf ("找到了,下标为:%d",mid);break;}}if(left>right){printf ("不好意思没有找到\n");}return 0;}
更多相关文章
- 使用C语言判断密码是否正确,三次失败就退出,超详细教程!!
- python常用的图像处理工具有哪些?工具推荐!
- 零基础学习Java开发,这些学习笔记送给你
- Json序列化在golang中的应用
- 2021-03-24:给定一个整数组成的无序数组arr,值可能正、可能负、可
- 2021-03-23:给定一个正整数组成的无序数组arr,给定一个正整数值K,找
- web前端:常用的js语法
- 分布式数据库30讲
- JavaScript学习之购物车全选、自动计算