c#二分检索数组元素没显示结果

using System;
using System.Collections.Generic;
using System.Text;

namespace 二分检索
{
class Program
{
static void Main(string[] args)
{
int[] myArray = new int[10] { 13, 15, 23, 25, 45, 46, 57, 58, 78, 79 };//声明并初始化数组,必须为有序数组
int key = 78;//待查找数据
int low = 0, high = 9;
int mid = (low + high) / 2;
while (low <= high)
{
if (myArray[mid] == key)
{
Console.WriteLine("找到key值,其位置在: " + mid);
return;//结束检索
}
else if (myArray[mid] < key)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
}
Console.WriteLine("没有找到key值");
}
}
}

 写了段用二分检索数组元素的代码。为什么调试时什么也不显示?

还是出错了,图片说明

程序死循环了,能有显示就见鬼了。

 using System;

public class Test
{
    public static void Main()
    {
            int[] myArray = new int[10] { 13, 15, 23, 25, 45, 46, 57, 58, 78, 79 };//声明并初始化数组,必须为有序数组
            int key = 78;//待查找数据
            int low = 0, high = 9;
            int mid = (low + high) / 2;
            while (low <= high)
            {
                if (myArray[mid] == key)
                {
                    Console.WriteLine("找到key值,其位置在: " + mid);
                    return;//结束检索
                }
                else if (myArray[mid] < key)
                {
                    low = mid + 1;
                }
                else
                {
                    high = mid - 1;
                }
                mid = (low + high) / 2;
            }
            Console.WriteLine("没有找到key值");

    }
}

你的mid的值在while循环里一直都没更新哦。。

你的mid的值在while循环里一直都没更新哦。。