Я пытаюсь выполнить поиск в отсортированном по убыванию массиве, используя этот двоичный код поиска. Однако после того, как я сортирую его и пытаюсь выполнить поиск, он не возвращается с каким-либо результатом, только значок загрузки, который никогда не исчезает, как будто он имеет бесконечный цикл. Я не уверен, в чем проблема, потому что код выглядит логичным.
Это 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];
}