C语言中的择中,二分查找算法解析
2021-03-27 23:35
971 查看
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; }
相关文章推荐
- python函数教程:Python递归函数 二分查找算法实现解析
- C语言快速排序与二分查找算法示例
- C语言查找算法之顺序查找、二分查找(折半查找)
- 二分查找算法实现(C语言)
- C语言查找算法之顺序查找、二分查找(折半查找)
- C语言实现折半查找(二分查找)的算法
- 复习C语言算法——二分查找
- Python递归函数 二分查找算法实现解析
- C语言二分查找算法及实现代码
- C语言 算法与数据结构 查找 顺序查找 二分查找
- 最长上升子序列——O (nlogn)算法原因解析!为什么这样可以求出来!(附带动态规划dp + 二分查找讲解)
- C语言二分查找/折半查找
- js实现常见的几种算法(数组去重、字符统计、二分查找等)
- 二分查找,二叉查找树(二叉排序树)的基本思想以及算法实现
- 查询算法-二分查找算法
- c语言_二分查找(折半查找)
- 二分查找的递归和非递归算法(C语言实现)
- [ACM] [算法基础] POJ 2503 在线翻译Babelfish(二分查找 字符串)
- Algorithm学习笔记 --- C语言实现二分查找
- 【算法】二分查找详细总结 BinarySearch