Java分块查找方法怎么使用
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,本篇内容介绍了"Java分块查找方法怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目 采用
千家信息网最后更新 2025年02月12日Java分块查找方法怎么使用
本篇内容介绍了"Java分块查找方法怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
题目 采用分块查找的方法查找有序表,有序表个数为15,要求用户输入有序表各元素,程序输出查找结果,若成功,显示出元素在有序表中的位置。
1、程序分析
step1先选取各块中的最大关键字构成一个索引表;
step2查找分为两个部分:先对索引表进行二分查找或顺序查找,以确定待查记录在哪一块中;然后,在已确定的块中用顺序法进行查找。
2、程序实现
/*声明分块查找函数*/int block_search(int iKey,int iArr[]);/*定义块的结构体*/struct index{int iKey; //关键字int iStart; //起始位置int iEnd; //结束位置}index_table[4]; //结构体数组/***********************************函数名称:block_search*参数说明:iKey 查询的关键字* iArr 有序数列保存的数组*说明: 分块查找***********************************/int block_search(int iKey,int iArr[]){int i = 1,j;while((i < 4) && (iKey > index_table[i].iKey)) //确定要查找的元素在哪个块里{ i++; }if(i > 3) //当大于最大块数的时候表明没有查找到,返回0{return 0; }else{ j = index_table[i].iStart; //j为块范围的起始位置while((j <= index_table[i].iEnd) && (iArr[j] != iKey)) { j++; }if(j > index_table[i].iEnd) //超出块的范围{return 0; }return j; }}void main(void){int i,j = 0,iRet,iKey,iArr[16]; printf("请输入15个有序数:");for(i = 1;i < 16;i++) scanf("%d",&iArr[i]);for(i = 0;i < 3;i++) { index_table[i].iStart = j + 1; //确定每个块范围的起始位置j = j + 1; index_table[i].iEnd = j + 4; //确定每个块范围的结束位置j = j + 4; index_table[i].iKey = iArr[j]; //确定每个块范围的元素最大值} printf("请输入您要查询的数字:"); scanf("%d",&iKey); iRet = block_search(iKey,iArr);if(iRet != 0) printf("查找成功,其位置是:%d\n",iRet);elseprintf("查找失败!\n");}
3、显示结果
"Java分块查找方法怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
位置
有序
范围
元素
方法
最大
关键
关键字
程序
起始
输入
成功
内容
函数
数组
更多
知识
索引
结构
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学生信息数据库数据表
网络安全好词
湖北app软件开发的报价
县团委网络安全周活动总结
上海访客管理软件开发价钱
小学学校网络安全领导小组
php读取数据库字段值
服务器如何在bios里配置带外
河南网络时间服务器哪家好
学校查重数据库是最新的吗
大专生软件开发
为什么光遇服务器总是繁忙
中小学校校园网络安全制度
数据库怎么多选
武汉软件开发多少钱一个月
江西商业软件开发零售价格
数据库原理cot
服务器显卡交流群
郴州计算机软件开发工资多少
海沧租房网络安全
金税盘 安全服务器地址
车友租车软件开发
a股 数据库
地图如何拿数据库
云服务器没有桌面
商业数据库专业硕士
lol与服务器连接失败
软件开发人员薪金讲义
网络安全心得400字
云数据库怎么选几核几g