Справочник линейного поиска

Я пытаюсь изменить следующий код, чтобы он использовал линейный поиск, но у меня возникли трудности с этим.

public static int searchDirectory(Entry [] arr, String item)
{
    int low = 0;
    int high = arr.length - 1;
    int position = (low + high) / 2;
    while (low < arr.length &&                
               arr[low] != item)&&
               arr[low] < item
                       {
                           low++;
                       }
    {
        if (item.compareTo(arr[position].getNumber()) < 0)
        {
            high = position - 1;
        } else if (item.compareTo(arr[position].getNumber()) > 0)
        {
            low = position + 1;
        }
        position = (low + high) / 2;
    }
    if (item.compareTo(arr[position].getNumber()) != 0)
    {
        position = -1;
    }
    return position;
}

Я на правильном пути или совсем с дороги?

Это мой входной класс, который включает переменную name и number

public class Entry
{
private String name;
private String number;

public String getName()
{
    return name;
}

public void setName(String theName)
{
    name = theName;
}

    public String getNumber()
    {
        return number;
    }

    public void setNumber(String theNumber)
    {
         number = theNumber;
    }
}

0 ответов

Другие вопросы по тегам