如何在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;}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数260
191.63 KB下载数245
143.91 KB下载数1139
183.71 KB下载数640
644.84 KB下载数2752
相关文章
发现更多好内容猜你喜欢
AI推送时光机如何在Java项目中实现一个快速查找算法
后端开发2023-05-31
快速查找与二分查找算法如何在Java中实现
后端开发2023-05-31
怎么在java项目中实现一个二叉查找树算法
后端开发2023-05-31
如何在Java项目中实现一个时间轮算法
后端开发2023-05-31
如何在java项目中实现一个ECC加密算法
后端开发2023-05-31
如何在Java项目中实现一个DES加密算法
后端开发2023-05-31
如何在java项目中实现一个插入排序算法
后端开发2023-05-31
在Java中怎么实现一个快速排序算法
后端开发2023-05-30
如何在Java项目中实现一个非对称加密算法
后端开发2023-05-31
如何在java项目中实现一个随机数生产算法
后端开发2023-05-31
怎么在java项目中实现一个海盗算法
后端开发2023-05-31
如何在Java与Python项目中实现一个冒泡排序算法
后端开发2023-05-31
FloydWarshall算法如何在java项目中实现
后端开发2023-05-31
怎么在Java项目中实现一个堆排序算法
后端开发2023-05-31
在java项目中实现一个冒泡排算法的方法
后端开发2023-05-31
FastApi如何快速构建一个web项目的实现
后端开发2023-03-24
怎么在Java项目中利用QuickSort实现一个快速排序功能
后端开发2023-05-31
如何在Java项目中利用余弦方法实现一个相似度计算算法
后端开发2023-05-31
在Java项目中如何实现一个同步锁
后端开发2023-05-31
如何在C++项目中实现一个取余运算
后端开发2023-06-06
咦!没有更多了?去看看其它编程学习网 内容吧