首页 > 编程 > Java > 正文

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

2019-11-26 11:25:30
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表