Java二分查找方法怎么使用
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要讲解了"Java二分查找方法怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java二分查找方法怎么使用"吧!题目采用二分查找法查找
千家信息网最后更新 2025年01月23日Java二分查找方法怎么使用
这篇文章主要讲解了"Java二分查找方法怎么使用",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java二分查找方法怎么使用"吧!
题目
采用二分查找法查找特定关键字的元素。要求用户输入数组长度,也就是有序表的数据长度,并输入数组元素和查找的关键字。程序输出查找成功与否,以及成功时关键字在数组中的位置。例如,在有序表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二分查找方法怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
关键
元素
关键字
数组
成功
输入
方法
程序
长度
学习
有序
位置
内容
函数
就是
次数
范围
最大
最小
也就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
邦网络安全手抄报
中国网络安全保护中心
登录界面无法响应服务器
科技互联网公司 利润 营收
网络安全zhiahi
广州云上科技互联网责任有限公司
微雕软件开发
怎么把数据库窗口缩小
软件开发实现阶段
敏捷安全卫士查看服务器
海星网络安全
连云港网络安全管理模式
音视频网络技术公司营业范围
武汉软件开发大刘信息公司
江苏外贸进口软件服务器云主机
万象sql 会员数据库
中国电科网络安全宣传周知识问答
聊城市网络安全周
k12软件开发
计算机网络链路状态数据库定义
蚂蚁金服网络技术有限公司招聘
护苗网络安全法制课视频
网络安全广州宣传部
网络安全评估一直待审查
ff14怎么删除捏脸数据库
韩国国家网络安全中心
软件开发团队成员组成介绍
湖北电商软件开发如何收费
在数据库中查询患者id身份证号
监控服务器怎么选