码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-06-21 09:39:53      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:nbsp   跳出循环   指定   指定元素   元素   color   can   bsp   中间   

//用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。 
#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("查无此数");    
}
 

 

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

标签:nbsp   跳出循环   指定   指定元素   元素   color   can   bsp   中间   

原文地址:https://www.cnblogs.com/yanglike111/p/13171286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!