java 实现快速筛选_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快速查找算法_Java实现的快速查找算法示例
本文实例讲述了Java实现的快速查找算法.分享给大家供大家参考,具体如下: 快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位 ...
- java 字符串文字筛选_Java的原始字符串文字
java 字符串文字筛选 似乎" 原始字符串文字 "即将出现在Java中. JEP 326开始的("原始字符串字面量") 发行JDK-8196004 ,并宣布为 ...
- java实现约瑟夫环完整算法_Java简单实现约瑟夫环算法示例
Java简单实现约瑟夫环算法示例 发布时间:2020-10-01 14:19:56 来源:脚本之家 阅读:104 作者:perfect亮 本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参 ...
- java实现屏幕共享功能_Java是否足以快速实现屏幕共享?
在过去的几个月里,我和一个开发者一直在研究一个屏幕分享小程序,这个小程序可以流到像Wowza或Red5这样的媒体服务器上,但不管我们做什么,我们都有大约5秒的延迟,这个时间太长了一个人们正在互相交流的 ...
- java内存模型概述_Java内存模型-快速概述和注意事项
java内存模型概述 在计算中, 内存模型描述了线程如何通过内存交互,或更一般地,它指定了为分段内存或分页内存平台生成代码时允许编译器进行的假设. 在给定程序和该程序的执行跟踪的情况下,它实质上描述了 ...
- java变量三要素_Java零基础快速入门|变量
本文章主要内容:字面量 变量概述 使用变量 变量分类 变量作用域 难点疑惑 学习目标:理解变量本质是什么,在开发中有什么用? 变量三要素是什么? 怎么声明变量? 怎么给变量赋值? 变量是如何分类的? ...
- java hashcode返回值_Java String hashCode() 使用方法及示例
Java String hashCode() 使用方法及示例 Java String hashCode()方法返回字符串的哈希码. 字符串hashCode()方法的语法为: string.hashCo ...
- java随机数抽奖系统_Java实现游戏抽奖的算法
Java实现游戏抽奖的算法 发布时间:2020-05-29 13:27:44 来源:亿速云 阅读:282 作者:鸽子 Java开发游戏抽奖算法主要有随机数一一对应.离散法Alias算法等. 一.随机数 ...
- java验证码源码_Java通用验证码程序及应用示例(提供源码下载)
评论 # re: Java通用验证码程序及应用示例(提供源码下载) 2009-11-27 17:09 零全零美 多谢博主写出这么好的总结,如果能加上汉字验证码,会更完美! 回复 更多评论 # re ...
最新文章
- ES单字段支持的最大字符数
- 利用Java自带的MD5加密java.security.MessageDigest;
- android 屏保_Mac视频屏保随心换!
- nlp 命名实体识别 算法_中文命名实体识别算法 Lattice LSTM
- 如何查看keepalived版本号_Keepalived介绍 , 配置说明 , 及实际应用
- 数据治理资深大咖分享:一文详解数据标准管理
- jmu-Java-02基本语法-06-枚举 (3分)
- 数据科学 IPython 笔记本 8.7 密度和等高线图
- 麒麟990 5G获外媒好评:华为Mate30系列有望引领5G时代新体验
- kettle mysql 乱码
- 程序员面试金典——17.1无缓存交换
- netzapper操作
- 网络安全工程师与渗透测试工程师有哪些区别
- wps小写金额转大写快捷键,wps表格怎么把金额变为大写
- 关系图谱在风控体系的应用与实践
- Python数据分析U3-matplotlib可视化基础
- 幼儿园带括号算式口诀_幼儿园括号题教案
- CSS高级雪碧图插入方法
- 百度地图点聚合优化重写
- 安卓 LayoutInflater详解
热门文章
- iPhone 14 Pro灵动岛创意 app,还能养宠物
- 电力负荷短期预测模型(基于ARIMA)
- 20141122 【 ARM - 电子音乐相册 】
- 坚定关于考研或者工作的决定:work
- android实现一段文字中不同颜色
- PS软件的画笔怎么调出圆圈?
- Robocup3D如何进行代码的编写
- 南京2016年计算机网络B卷,2016年春期期末考试计算机网络应用基础B卷(莫武位).doc...
- 卧底付费专栏盗版群一个月,我们聊聊付费内容的地下黑产
- JS实现身份证号显示前3位和后4位,中间用***替代