使用递归二进制搜索对数组进行排序

时间:2014-02-25 03:54:08

标签: java recursion binary-search

所以我正在读取带有未分类数字列表的txt文件......

14 36 9 87 2 5

我的二进制搜索的递归方法是......

public static int bSearch(int[] a, int lo, int hi, int key)
 {
    int mid = lo+(lo + hi)/2;

    if (lo <= hi) 
        return -(lo+1); 
    else if (a[mid] == key) 
        return mid;
    else if (a[mid] < key)
        return bSearch(a, mid+1, hi, key);
    else 
        return bSearch(a, lo, mid-1, key);
}

我想通过实现递归二进制搜索来对值进行排序。有人能指出我将如何做到这一点。

3 个答案:

答案 0 :(得分:1)

为什么要使用二进制搜索进行排序?如果您真的在寻找分而治之的策略,请查看合并排序。

答案 1 :(得分:0)

可以使用二进制搜索进行排序。看看:Binary Searching and Sorting

答案 2 :(得分:0)

二进制搜索算法用于搜索。我猜你将二进制搜索与quicksort algorithm

混合在一起