大家好我有二进制搜索,有一个排序数字的列表框,用户在文本框中输入一个值来检查它在列表框中的位置。但是,在文本框中输入的数字显示为列表框中的位置,例如, 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;
}
答案 0 :(得分:0)
二进制搜索块正确
错误出现在您打印的消息中。它应该是:
MessageBox.Show("The number you are searching is found in position " + (mid));
中而不是数字