资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java二分查找方法怎么使用

这篇文章主要讲解了“Java二分查找方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java二分查找方法怎么使用”吧!

创新互联公司专注于企业营销型网站、网站重做改版、惠州网站定制设计、自适应品牌网站建设、H5建站电子商务商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为惠州等各大城市提供网站开发制作服务。

题目

    采用二分查找法查找特定关键字的元素。要求用户输入数组长度,也就是有序表的数据长度,并输入数组元素和查找的关键字。程序输出查找成功与否,以及成功时关键字在数组中的位置。例如,在有序表11、13、18、28、39、56、69、89、98、122中查找关键字为89的元素。
1、程序分析
    二分查找就是折半查找,其基本思想是:首先选取表中间位置的记录,将其关键字与给定关键字key进行比较,若相等,则查找成功;若key值比该关键值大,则要找的元素一定在右子表中,则继续对右子表进行折半查找;若key值比该关键值小,则要找的元素一定在左子表中,继续对左子表进行折半查找。如此递推,直到查找成功或查找失败(查找范围为0)。
2、程序实现

/******************************************************
 * Topic    :   采用二分查找法查找特定关键字的元素。
 * File Name:   BinarySearch.c
 * Author   :   Jack Cui
 * Created  :   6 April 2016
 * ****************************************************/#include 
#include /*归并排序函数声明*/void BinarySearch(int iKey,int *pArr,int iNum);void main(void)
{int i,iKey,*pArr,iNum;
    printf("请输入数组的长度:\n");
    scanf("%d",&iNum);
    printf("请输入数组元素:\n");
    pArr = (int *)malloc(sizeof(int) *iNum);for(i = 0;i < iNum;i++)
        scanf("%d",&pArr[i]);
    printf("请输入你想查找的元素:\n");
    scanf("%d",&iKey);
    BinarySearch(iKey,pArr,iNum);
}/**********************************
*函数名称:BinarySearch
*参数说明:iKey      要查找的数
*         *pArr     数组
*         iNum      数组大小
*说明:    二分查找
***********************************/void BinarySearch(int iKey,int *pArr,int iNum)
{int iLeft,iRight,iMid,iCount,iFlag;
    iCount = 0;                         //记录查找次数iFlag = 0;                          //查找正确标志位iLeft = 0;                          //左侧最小值iRight = iNum - 1;                  //右侧最大值while(iLeft <= iRight)              //范围正确的时候,进行查询。{
        iCount++;                       //查找次数+1iMid = (iLeft + iRight) / 2;    //二分if(iKey < pArr[iMid])
            iRight = iMid - 1;else if(iKey > pArr[iMid])
            iLeft = iMid + 1;else if(iKey == pArr[iMid])
        {
            printf("查找成功!\n查找%d次!pArr[%d]=%d\n",iCount,iMid,iKey);
            iFlag = 1;break;
        }
    }if(iFlag == 0)
        printf("查找失败!\n");
}

3、结果显示
Java二分查找方法怎么使用

感谢各位的阅读,以上就是“Java二分查找方法怎么使用”的内容了,经过本文的学习后,相信大家对Java二分查找方法怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


文章名称:Java二分查找方法怎么使用
当前路径:http://www.cdkjz.cn/article/iijiei.html
十二年 建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220