Двоичный поиск в отсортированном массиве

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

Это aspx с платформой 4.0, c #. Заранее спасибо!

    protected void Button2_Click(object sender, EventArgs e)
    {
        String item = TextBox1.Text;
        int target = Convert.ToInt16(item);
        int mid, first = 0, last = mynumbers.Length - 1;

        //for a sorted array with descending values
        while (first<=last)
        {
            mid = (first + last) / 2;
            if (target < mynumbers[mid])
                first = mid + 1;
            if (target > mynumbers[mid])
                last = mid - 1;
            else
                Label11.Text = "Target " + item + " was found at index " + mynumbers[mid];

        }
9
задан abatishchev 5 March 2015 в 18:22
поделиться