二分查找-while(C#)

2021-01-24 02:13

阅读:495

标签:middle   bsp   ati   ret   res   线性表   arch   turn   while   

 

 

//测试代码

int[] array = { 10, 20, 30, 40, 50, 60, 70, 80, 90 };
int result = BinarySearch(array, 55);
Console.WriteLine(result);

//只能查找有序的线性表
static int BinarySearch(int[] array, int key)
{
  int left = 0;
  int right = array.Length - 1;
  while (left   {
    if (key == array[left])
      return array[left];
    if (key == array[right])
      return array[right];

    int middle = (left + right) / 2;
    if (key == array[middle])
      return array[middle];
    else if (key > array[middle])
      left = middle + 1;
    else
      right = middle - 1;
    }
    return -1;
    }
  }
}

二分查找-while(C#)

标签:middle   bsp   ati   ret   res   线性表   arch   turn   while   

原文地址:https://www.cnblogs.com/LZHOO97/p/12057517.html


评论


亲,登录后才可以留言!