查找

查找

常见的查找算法有“顺序查找”和“二分查找

1.顺序查找

顺序查找就是按照从前往后的顺序,将数组中的元素依次与要查找的的数x进行比较。如果数组中的元素是有序的(递增或递减)。顺序查找这个方法的时间复杂度n。

2.二分查找

运用二分查找的优势在于它的比较次数少、查找速度快。大家可以看代码理解一下。

int left=0,right=n-1;
int find=n //find用来标记找到的位置
while(left<=right)
{
	int mid=(left+right)/2;
    if(a[mid]<x) l=mid+1;//x只能在右半部分 
    if(a[mid]>x) r=mid-1;//x只能在左半部分 
    if(a[mid]==x) break;//找到之后退出循环 
}	
while(a[mid-1]==x) mid--;//跳出循环后往前找,看能不能找到与mid一样的数。 
    printf("%d",mid);//输出

  

 

posted @ 2019-07-11 11:10  骁哥  阅读(401)  评论(1编辑  收藏  举报