`
bcyy
  • 浏览: 1885602 次
文章分类
社区版块
存档分类
最新评论

Java针对数组的普通查找法和二分查找法

 
阅读更多
下面是针对数组的普通查找法和二分查找法的示例代码
  1. packagecom.jadyer.sort;
  2. /**
  3. *数组查找方式
  4. *@detail这里演示了普通查找法和二分查找法
  5. */
  6. publicclassArraySearch{
  7. publicstaticvoidmain(String[]args){
  8. intcommonResult=commonSearch(newint[]{1,5,6,7,4,3,9,11,13,14,16,19,21},9);
  9. intbinaryResult=binarySearch(newint[]{1,3,4,6,7,8,9,12,15,17,18,20,22},8);
  10. System.out.println("二分查找法:"+binaryResult);
  11. System.out.println("普通查找法:"+commonResult);
  12. }
  13. /**
  14. *普通查找法
  15. *@detail该方式最好理解,同时效率也最低
  16. */
  17. publicstaticintcommonSearch(int[]array,intvalue){
  18. for(inti=0;i<array.length;i++){
  19. if(value==array[i]){
  20. returni;//返回该元素在数组中的下标
  21. }
  22. }
  23. return-1;//不存在该元素则返回-1
  24. }
  25. /**
  26. *二分查找法
  27. *@detail要求数组有序,升序或降序均可
  28. */
  29. publicstaticintbinarySearch(int[]array,intvalue){
  30. intlow=0;//最小元素值的下标
  31. inthigh=array.length-1;//最大元素值的下标
  32. intmiddle;//中间元素的下标
  33. while(low<=high){
  34. middle=(low+high)/2;
  35. for(inti=0;i<array.length;i++){
  36. System.out.print(array[i]);
  37. if(i==middle){
  38. System.out.print("#");//在元素后面用#号标识其为中间元素
  39. }
  40. System.out.print("");//各元素间用空格隔开
  41. }
  42. System.out.println();
  43. if(value==array[middle]){
  44. returnmiddle;
  45. }
  46. if(value<array[middle]){
  47. high=middle-1;//右侧的不要了
  48. }
  49. if(value>array[middle]){
  50. low=middle+1;//左侧的不要了
  51. }
  52. }
  53. return-1;//不存在该元素则返回-1
  54. }
  55. }

分享到:
评论

相关推荐

    Java数组练习题(带答案).doc

    4. **二分查找**:二分查找法适用于已排序的数组,通过不断缩小搜索范围快速找到目标元素。 5. **下标类型**:Java中数组的下标是整型(`int`),不能是其他数据类型。 6. **下标范围**:数组的最小下标是0,最大...

    Java数组+数组排序+数组复制+最大最小值+合并数组+数组升降序排序+数组查找

    Java数组: Java数组排序:冒泡排序、选择排序 、插入排序 、快速排序、希尔排序、堆排序和归并排序 三种Java数组复制方法 Java数组最大最小值 四种合并Java数组方法 ...Java数组查找:二分查找、顺序查找、插值查找法

    Java array 数组用法源码集.rar

    Java array 数组用法源码集,比如测试数组、划分成绩等级、从方法中返回数组、二分查找法、求二维数组的长度、锯齿数组、处理二维数组等,相信通过这些基础的数组操作实例,会对你了解Java中的数组有很好的帮助作用...

    java 二分查找法的实现方法

    在Java中,二分查找法通常用于数组或有序列表中,其核心思想是通过不断缩小搜索范围来快速定位目标元素。以下是关于Java实现二分查找法的详细解释: 1. **算法原理**: 二分查找法首先将数组或列表分为左、中、右...

    Java数组练习题带答案.doc

    数组的二分查找法运用的前提条件是数组已经排序。如果数组未排序,则不能使用二分查找法。 5. 数组下标的数据类型 数组的下标的数据类型是整型,包括 byte、short、int、long 等。 6. 数组最小的下标 数组最小的...

    Java基础精品课06-数组循环综合应用录屏3.二分查找法.mp4

    Java基础精品课06-数组循环综合应用录屏3.二分查找法.mp4

    JAVA数组学习教程

    例如,有序数组的查找通常使用二分查找算法,它的时间复杂度为O(log n)。 - 插入和删除操作需要考虑数组的顺序。在有序数组中插入元素,需要找到合适的位置并将后续元素逐个向后移动。删除操作也需要移动元素以填补...

    Java_数组练习答案.docx

    5. **二分查找法**:在数组中进行二分查找的前提是数组必须是有序的,这样可以快速定位目标元素。 6. **二维数组**:二维数组常用来表示矩阵或表格,它实际上是一组一维数组的集合。 7. **一维数组元素**:如果将...

    Java_数组练习答案.pdf

    5. **二分查找法**:适用于已排序的数组,通过不断缩小搜索范围找到目标元素。 6. **二维数组**:用于表示矩阵或表格,实际上是一个数组的数组,每一行可以视为一个一维数组。 7. **下标类型**:Java中数组的下标...

    java二分搜索法程序,分行显示

    本文将详细解析标题“java二分搜索法程序,分行显示”所涉及的Java编程技术,包括二分搜索法的原理、实现以及如何结合数据结构进行文字处理。 首先,我们来了解**二分搜索法**(Binary Search)。它是一种在有序...

    Java数组练习题目.docx

    5) 数组的二分查找法运用的前提条件是数组已经排序。 6) 矩阵或表格一般用二维数组表示,即数组的数组。 7) 如果把二维数组看成一维数组,那么数组的元素是数组的引用。 8) Java 中数组的下标的数据类型是整型...

    java代码-数组二分查找

    在Java编程语言中,二分查找(Binary Search)是一种高效的搜索算法,尤其适用于有序的数组。这个算法基于分治法的思想,将问题不断拆解,直到找到目标元素或者确定目标不存在。下面,我们将深入探讨二分查找的工作...

    Java-数组练习题目(汇编).docx

    5) 数组的二分查找法运用的前提条件是数组已经排序,否则无法保证查找效率。 6) 矩阵或表格一般用多维数组(通常是二维数组)表示。 7) 如果把二维数组看成一维数组,那么数组的元素是包含其他元素的一维数组,即子...

    Java_数组练习答案 (2).pdf

    5. 二分查找:二分查找法适用于已排序的数组,它通过不断缩小搜索范围来快速找到目标元素。 6. 二维数组:二维数组可以用来表示矩阵或表格,每个元素本身又是一个一维数组。在二维数组中,可以理解为行和列,行的...

    Java 数组练习题目.doc.pdf

    5)数组的二分查找法运用的前提条件是数组已经排序。未排序的数组无法直接使用二分查找,否则可能会导致错误的结果。 6)矩阵或表格一般用二维数组表示。如果把二维数组看成一维数组,那么数组的元素是一个个的一维...

    Java_数组练习答案 (2).docx

    5. **二分查找**:二分查找法适用于已排序的数组,它能够快速定位元素,查找效率较高。 6. **二维数组**:矩阵或表格通常用二维数组表示,每个元素又是一维数组,可以理解为数组的数组。 7. **下标数据类型**:...

    Java-数组练习题目(汇编).pdf

    5. **二分查找**:二分查找法应用于已排序的数组。 6. **多维数组**:矩阵或表格通常用二维数组表示。 7. **一维视角**:如果把二维数组看成一维数组,那么数组的元素是包含多个元素的一维数组。 8. **下标类型**:...

    实验3java数组.pdf

    本实验是在Java语言中对数组的操作和应用,实验内容包括数组的声明、初始化、引用单个数组元素、数组排序、顺序查找和二分查找。 一、数组数据结构 数组是Java语言中的一种基本数据结构,用于存储一组相同类型的...

Global site tag (gtag.js) - Google Analytics