`
liqi3344520
  • 浏览: 3390 次
  • 性别: Icon_minigender_1
  • 来自: 山西
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于数组的查询问题?请教!

阅读更多
public class Display {

public static void main(String[] args) {
int a[]={55,37,33,22,36};
//Arrays.sort(a);
int index=Arrays.binarySearch(a,55);
System.out.println(index);
for(int i=0;i<a.length;i++){
//System.out.println(a[i]);
}

}

}


以上数组查询方法  如果不将数组排序难道就不能查询么?我注释掉排序方法后,只有第一个元素“22”可以正确查询,这是为什么呢?查询其他元素就和数组里元素的索引位置不一样了。  还有个问题是,假如一个数组中有多个相同的元素,假如查询此元素,它的索引位置应该怎么定呢?如:
public class Display {

public static void main(String[] args) {
int a[]={55,33,33,23,33};
Arrays.sort(a);
int index=Arrays.binarySearch(a,33);
System.out.println(index);
for(int i=0;i<a.length;i++){
//System.out.println(a[i]);
}

}

}
像这样的程序,如果排序以后,应该是int a[]={23,33,33,33,55} 这样的情况,如果查询后,输出元素“33”的索引位置为什么是2呢?为什么不是1或3呢?
分享到:
评论
3 楼 liqi3344520 2009-02-06  
forgetOneself 写道

像这样的问题,其实多看一下JDK的帮助文档,对你有好处,而且要有看文档的习惯.

你说的是API帮助文档么?原来也看老师用  可我自己用的时候总是看的晕,不过你的帮助很及时,可能以后会少走很多弯路了。真的感谢!
2 楼 forgetOneself 2009-02-06  
像这样的问题,其实多看一下JDK的帮助文档,对你有好处,而且要有看文档的习惯.
1 楼 forgetOneself 2009-02-06  
"以上数组查询方法  如果不将数组排序难道就不能查询么?我注释掉排序方法后,只有第一个元素“22”可以正确查询,这是为什么呢?查询其他元素就和数组里元素的索引位置不一样了。  还有个问题是,假如一个数组中有多个相同的元素,假如查询此元素,它的索引位置应该怎么定呢?"

Arrays.binarySearch()方法必须是经过排序后才能返回正确的结果,否则不能正确得到结果,引用JDK文档的:"使用二进制搜索算法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过上面的 sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。 "

相关推荐

    遗传算法解决tsp问题毕业设计要做GUI界面-untitled.m

    我是小菜鸟,请教各位高手这么四个问题:  1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧?  例如一个5个城市坐标的txt文件,读取后应该为  city=[23 44;24 54;63 43;35 65;24 43]  应该用什么...

    遗传算法解决tsp问题毕业设计要做GUI界面-untitled.fig

    我是小菜鸟,请教各位高手这么四个问题:  1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧?  例如一个5个城市坐标的txt文件,读取后应该为  city=[23 44;24 54;63 43;35 65;24 43]  应该用什么...

    2022年大一c语言数组实验心得.docx

    数组是用来保存数据的,数组名代表的是数组首元素的地址而不是数组的首地址,所以数组p与p[0]是有区分的,虽然内容相同,但意义却不同,p才是整个数组的首地址,数组名是整个数组的名字,数组内每个元素并没出名字,...

    实验8 一维数组(1).docx

    4. **请教同学或老师**:当自己无法解决问题时,可以向同学或老师寻求帮助,共同讨论解决问题的方法。 通过以上实验内容的学习,我们可以更好地理解和掌握一维数组的相关概念和操作技巧。这不仅有助于提高我们的...

    C++基础入门教程(三):数组、字符串、结构体、共用体

    我记得大四实习的时候,请教同事:“什么是属主?”(其实是和数据库相关的东西) 然后同事惊讶地说道:“啊,你连数组都不知道..这,基础还是要好好补补…呐,数组的意思呢,是这样的…” 我听着听着就不对劲,...

    请教MATLAB的图象多重分形程序-FFT变换.doc

    标题中的“请教MATLAB的图象多重分形程序-FFT变换.doc”涉及到的是使用MATLAB进行图像多重分形分析,并且结合快速傅里叶变换(FFT)进行处理。描述中提到的问题是用户在运行程序时遇到了错误,提示“Size vector ...

    C语言复习题大全!绝对经典!!!!

    C语言是一种基础且强大的编程语言,它以其简洁、高效和灵活的特点被广泛应用于...同时,遇到不理解的问题,可以查阅相关资料或向他人请教,这样才能真正提高自己的编程水平。祝你在C语言的学习旅程中取得丰硕的成果!

    11月25日学习总结.pdf

    今天的学习总结主要涉及了深度优先搜索(DFS)算法的应用、全排列问题的解决以及一个关于选取特定钢管问题的逻辑处理。首先,我们来详细解析这些知识点。 1. **深度优先搜索(DFS)**: DFS是一种用于遍历或搜索树...

    c语言学习心得6篇_c语言程序设计心得.doc.pdf

    此外,及时寻求帮助也很关键,无论是向老师、同学请教,还是查阅资料,都能有效地解决问题,避免陷入死胡同。 指针是C语言的一个核心概念,也是难点所在。指针存储的是变量的地址,可以用来间接访问和修改数据。...

    完整word版-C语言课程总结.doc

    然而,通过向同学和老师请教,问题总能得到解决。C语言的学习不仅是技术提升的过程,也锻炼了解决问题和自学的能力。 C语言作为其他高级编程语言如C++和Java的基础,掌握它对于后续的专业课程学习有着重要意义。...

    测绘程序报告七:高斯正反算程序.pdf

    本资源是一个关于测绘程序设计的实验报告,涵盖了测绘程序设计的基础知识、数组参数的传递、常用测绘程序设计技巧等。同时,本资源还涉及到C++编程语言、参数角度转换改变参数、调试技巧等技术点。

    数学建模 上机实验报告.docx

    例如,初次尝试输入函数表达式时,可能会因为不熟悉MATLAB环境而感到困惑,需要向同学请教或自行查阅资料来解决问题。生成随机矩阵是另一个常见难题,这涉及到MATLAB中的随机数生成函数,如`rand`或`randn`等。对于...

    java实验,包括源程序和题目要求(很详细)

    同时,遇到问题时,记得查阅文档、利用搜索引擎寻找答案,或者向老师和同学请教,这都是提高编程能力的有效途径。通过这样的实践,你不仅会深化对Java语言的理解,还能锻炼解决问题的能力,为未来的工作打下坚实的...

    c语言程序设计方案报告图书标准管理系统.doc

    在开发过程中,可能遇到文件操作错误、数据结构设计不合理等问题,这些问题通常通过调试、查阅文档或向他人请教得以解决。总结下来,良好的代码组织和错误处理机制是项目成功的关键。建议在实际开发中注重代码的...

    程序设计心得体会范文.doc

    在设计过程中,作者遇到了很多困难,但作者并没有向困难低头,而是通过查询资料,虚心向同学、老师请教,才一一得到了解决。作者发现平时学的太少了,在今后作者首先要把老师在课堂讲的弄懂,弄透,在此根底上利用...

    苏小红《C语言程序设计》部分习题

    在C语言程序设计的学习...遇到问题不要急于查找答案,而是尝试自己解决,这将有助于加深对知识点的理解。同时,欢迎向他人请教,通过讨论和交流,你能收获更多。希望你在C语言的学习旅程中不断进步,享受编程的乐趣!

    信令分析工具 V2.01

    请教过UI的高手,通过在某一个文件中设置标志位来充当信号量,但在实现中发现仍然是老问题。 2.统计速度 对信令消息的统计速度比较慢,可能要忍受一下。我测试用的文件比较小,执行起来还比较快。主要原因可能...

    关于C++的一些小程序

    对于初学者来说,这是一个很好的学习途径,应该积极参与并从实践中学习,遇到问题时,可以查阅资料或向有经验的程序员请教,这样进步会更快。同时,不断编写和调试代码也是提升编程技能的有效方法。

    四川C语言2级考题总汇

    同时,解题过程中遇到的问题也可以作为深入理解和提升的关键点,通过查阅资料或请教他人来巩固知识。每次考试的题目设计都是围绕C语言的基本概念和实际编程技巧展开的,因此,考生应重点掌握基础概念,加强实践,...

    C语言学生管理系统课程设计报告书

    调试阶段可能遇到的常见问题有语法错误和功能实现不准确,解决办法包括自我分析、模块化测试、多次调试以及查阅资料和向老师请教。 总的来说,这个课程设计旨在提高学生的编程实践能力,让他们能够综合运用C语言的...

Global site tag (gtag.js) - Google Analytics