如何使用递归比较通用二进制搜索方法的不同数据类型?

时间:2019-04-23 01:59:11

标签: java recursion

我必须创建具有递归的通用二进制搜索方法,才能在数组列表中查找邮政编码。该方法是ZipCode类型,但是将与中点进行比较的值是一个int。我如何比较为int的lookingFor,以查看它是否大于或小于ZipCode类型的中点值

到目前为止,我已经将中点声明为int,并创建了一种方法来获取中点的匹配值,但是它是ZipCode数据类型。

这是到目前为止我的代码:

ZipCode findZip(List<ZipCode> zc, int lowIndex, int highIndex, int lookingFor)
{
int midpoint = (lowIndex+highIndex)/2; 

ZipCode zipIndex = zc.get(midpoint);
ZipCode search = zc.get(lookingFor);
int compare = search.compareTo(midpoint);

然后是执行二进制搜索的语句之一

else if (compare > 0)
        {
            return findZip(zc, lowIndex, midpoint -1, lookingFor); // searches left of array 
        }

最后,我希望能够使用此方法传递用户输入(lookFor),并查看它是否与ListArray中的任何匹配值匹配并返回该值。

0 个答案:

没有答案
相关问题