JAVA-快速查找算法
来源:互联网 发布:mac os 磁盘清理 编辑:程序博客网 时间:2024/04/30 12:07
快速查找算法,可以根据想要找的是第几个大的数,每次循环都能固定下来一个数在数组完整排完序之后的位置,每次循环都能定一个数的位置,如果当前固定的数的位置和用户要找的第几个数匹配,则就直接返回。例如我要找第二大的数,如果循环一次固定的数的下标是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; }
1 0
- JAVA-快速查找算法
- 快速查找算法
- 快速查找算法
- simhash查找快速算法
- 二分法快速查找算法
- 查找算法---快速选择算法
- Java中Map相关的快速查找算法
- Java中Map相关的快速查找算法
- Java冒泡,快速,插入,选择排序^_^+二分算法查找
- 二分查找算法(快速查找)
- 数据记录快速查找算法
- 查找算法·快速选择
- Java查找算法--线性查找
- java 查找算法
- Java 中几种查找算法
- java 二分查找算法
- 二叉排序树 查找算法 java
- java 二分查找算法
- mac osx 下面shadowsocks 转换成http代理
- 方差与转动惯量
- Android Telephony中缩写含义
- unsupported locale setting
- angular js实现表单验证
- JAVA-快速查找算法
- 杭电3790 最短路径问题(djstra过)
- 关于TextView的一些初步讲解
- 使用APC加速PHP
- Python继承
- 2015年11月前端培训记录
- mysql日常
- 利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)
- C++ virtual