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

发布时间 - 2026-01-11 03:12:41    点击率:

本文实例讲述了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字符串常用操作方法(查找、截取、分割)  # Java字符串查找的三种方式  # 如何查找YUM安装的JAVA_HOME环境变量详解  # java数据结构之二分查找法 binarySearch的实例  # Java利用反射如何查找使用指定注解的类详解  # 详解Java数据结构和算法(有序数组和二分查找)  # Java实现的两种常见简单查找算法示例【快速查找与二分查找】  # java算法之二分查找法的实例详解  # Java查找不重复无序数组中是否存在两个数字的和为某个值  # 都能  # 要找  # 的是  # 操作技巧  # 几个  # 相关内容  # 第一个  # 不需要  # 感兴趣  # 数据结构  # 给大家  # 后将  # 可以根据  # 更多关于  # 所述  # 回调  # 第二大  # 程序设计  # 下表 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: phpredis提高消息队列的实时性方法(推荐)  jQuery 常见小例汇总  如何实现javascript表单验证_正则表达式有哪些实用技巧  如何用5美元大硬盘VPS安全高效搭建个人网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  android nfc常用标签读取总结  网站页面设计需要考虑到这些问题  Android自定义控件实现温度旋转按钮效果  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何在云服务器上快速搭建个人网站?  高性价比服务器租赁——企业级配置与24小时运维服务  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  iOS正则表达式验证手机号、邮箱、身份证号等  如何正确下载安装西数主机建站助手?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  浅谈redis在项目中的应用  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel API资源类怎么用_Laravel API Resource数据转换  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  南京网站制作费用,南京远驱官方网站?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  中山网站推广排名,中山信息港登录入口?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  香港服务器如何优化才能显著提升网站加载速度?  网站制作软件有哪些,制图软件有哪些?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  怎么用AI帮你为初创公司进行市场定位分析?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何获取上海专业网站定制建站电话?  JavaScript如何实现音频处理_Web Audio API如何工作?  iOS发送验证码倒计时应用  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  详解jQuery中基本的动画方法  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何用景安虚拟主机手机版绑定域名建站?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  详解Android——蓝牙技术 带你实现终端间数据传输  成都品牌网站制作公司,成都营业执照年报网上怎么办理?