二进制搜索无法正常工作

时间:2016-11-23 16:08:22

标签: c# listbox

大家好我有二进制搜索,有一个排序数字的列表框,用户在文本框中输入一个值来检查它在列表框中的位置。但是,在文本框中输入的数字显示为列表框中的位置,例如, 5输入,“您正在搜索的数字位于第5位”。

            int Number = (Convert.ToInt16(textBox1.Text));

            int a = lstHoldValue.Items.Count;
            int start = 0, end = a - 1, mid = (start + end) / 2;

            while (start <= end)
            {
                mid = (start + end) / 2;
                if (Number == Convert.ToInt16(lstHoldValue.Items[mid]))
                {
                    MessageBox.Show("The number you are searching is found in position " + (Number));
                    return;
}

1 个答案:

答案 0 :(得分:0)

二进制搜索块正确

错误出现在您打印的消息中。它应该是:

MessageBox.Show("The number you are searching is found in position " + (mid));

而不是数字