Define:
算法
从某种意义上讲就是执行一次把所剩下的下标(开头和结尾)/2得一个中间量,而后进行比较找到本身想要找到的数。这样的算法会让执行过程简洁N倍。 数组
写在前面: 我也只是个小白在博客上不断地锻炼本身,但愿获得你们的喜欢,有什么问题咱们共同交流,进步。ide
接下来咱们举一个简单例子来代表个人思想。但愿读者可以理解代码意思!!!!!!!spa
#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; }