用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。

Posted yanglike111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。相关的知识,希望对你有一定的参考价值。

//用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。 
#include<stdio.h>
main()
{
    int a[10]={1,3,6,8,9,12,15,16,19,20},n,low,high,mid;
    scanf("%d",&n);//输入要找的数    
    low=0; //llow是首元素的下标 
    high=9;//high是尾元素的下标 
    mid=(low+high)/2;//mid是中间元素的下标
    while(low<=high) 
    {
        if(a[mid]==n)    //找到了,跳出循环 
            break;
        else if(n<a[mid]) //中间元素大于待查数
            high=mid-1;
        else low=mid+1;//中间元素小于待查数 
        mid=(low+high)/2;//确定下一次循环的中间元素的位置         
    }
    if(low<=high)  //说明找到待查数后,从break跳出
        printf("%d在a[%d]中",n,mid);
    else
        printf("查无此数");    
}
 

 

以上是关于用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。的主要内容,如果未能解决你的问题,请参考以下文章

有15个数按从大到小的顺序存放在一个数组中, 用折半查找法找出该数是数组的第几个元素的值, 如果该数不在数组中,则输出“无此数”

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

C语言折半查找法

关于折半法查找的一些总结以及ArrayList类的总结

Task 04:数组二分查找