Java实现的快速查找算法示例

 更新时间:2017年09月12日 09:28:32   作者:Mr.洛洛  
这篇文章主要介绍了Java实现的快速查找算法,结合具体实例形式分析了快速查找算法的原理与相关实现技巧,需要的朋友可以参考下

本文实例讲述了Java实现的快速查找算法。分享给大家供大家参考,具体如下:

快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位置,如果当前固定的数的位置和用户要找的第几个数匹配,则就直接返回。例如我要找第二大的数,如果循环一次固定的数的下标是1,那就是当前需要找的数。

代码如下:

// 快速查找算法
public static int quickSelect(int[] arr, int selectIndex) {
    int s = 0;
    int i = s+1;
    while(i < arr.length) {
      if(arr[i] < arr[0]) {
        int t = arr[s+1];
        arr[s+1] = arr[i];
        arr[i] = t;
        s += 1;
        i = s+1;
        continue;
      }
      i++;
    }
    // i找到最后之后将下表为s的值和第一个值交换
    int temp = arr[0];
    arr[0] = arr[s];
    arr[s] = temp;
    if(selectIndex-1 == s) {
      return arr[s];
    }else {
      // 将数组不需要的切掉  用后一部分去回调
      int arrs[] = new int[arr.length - s];
      for(int j = s; j < arr.length; j++) {
        arrs[j-s] = arr[j];
      }
      quickSelect(arrs, selectIndex);
    }
    return 0;
}

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • java实现计算地理坐标之间的距离

    java实现计算地理坐标之间的距离

    java实现计算地理坐标之间的距离,主要是通过计算两经纬度点之间的距离来实现,有需要的小伙伴参考下吧
    2015-03-03
  • Java Druid连接池与Apache的DBUtils使用教程

    Java Druid连接池与Apache的DBUtils使用教程

    这篇文章主要介绍了Java Druid连接池与Apache的DBUtils使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-12-12
  • 利用Java实体bean对象批量数据传输处理方案小结

    利用Java实体bean对象批量数据传输处理方案小结

    javabean是对面向对象思想的一种具体实施的表现,本文重点给大家介绍利用Java实体bean对象批量数据传输处理方案小结,本文通过两种方案给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Java 如何实现AES加密

    Java 如何实现AES加密

    这篇文章主要介绍了Java 如何实现AES加密,帮助大家完成对接,完成自身需求,感兴趣的朋友可以了解下
    2020-10-10
  • IDEA中scala生成变量后自动显示变量类型问题

    IDEA中scala生成变量后自动显示变量类型问题

    这篇文章主要介绍了IDEA中scala生成变量后自动显示变量类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Dubbo3的Spring适配原理与初始化流程源码解析

    Dubbo3的Spring适配原理与初始化流程源码解析

    这篇文章主要为大家介绍了Dubbo3的Spring适配原理与初始化流程源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 使用SpringCloud Gateway解决跨域问题

    使用SpringCloud Gateway解决跨域问题

    本文给大家介绍了使用SpringCloud Gateway解决跨域问题,Spring Cloud Gateway是一个基于Spring Framework的微服务网关,使用Spring Cloud Gateway的跨域配置能够有效管理不同服务之间的通信,提高系统的可维护性和安全性,需要的朋友可以参考下
    2024-02-02
  • JAVA生成短8位UUID的实例讲解

    JAVA生成短8位UUID的实例讲解

    这篇文章主要介绍了JAVA生成短8位UUID的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Eclipse导入项目报错问题解决方案

    Eclipse导入项目报错问题解决方案

    这篇文章主要介绍了Eclipse导入项目报错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 教你用JAVA写文本编辑器(一)

    教你用JAVA写文本编辑器(一)

    对于学习java编程的小伙伴们,常常需要编写一个类似文本编辑器的东西,下面这篇文章主要给大家介绍了关于如何用JAVA写文本编辑器的相关资料,需要的朋友可以参考下
    2021-11-11

最新评论