首页 > 开发 > Java > 正文

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

2024-07-13 10:11:57
字体:
来源:转载
供稿:网友

本文实例讲述了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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表