小编car*_*lly的帖子

通用二进制搜索Java

我一直在尝试使这段代码工作.我必须创建二进制搜索的通用二进制版本.我不确定如何在没有类似界面的情况下比较两种泛型类型

import java.util.ArrayList; 

public class BinarySearcher<T> {
    private T[] a;

    public BinarySearcher(T[] words) {
        a = words;
    }

    public int search(T v) {
        int low = 0;
        int high = a.length - 1;
        while (low <= high) {
            int mid = (low + high) / 2;
            T midVal = a[mid];  

            if (v.compareTo(midVal) < 0) {
                low = mid - 1;
            }   

            else if (v.compareTo(midVal) > 0) {
                high = mid  + 1; 
            }
        }

        return -1;
    }

    public int compareTo(T …
Run Code Online (Sandbox Code Playgroud)

java

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×1