Can anyone give me recommendations on how to improve my code?
using System;
namespace mybinsearch2
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
int key = int.Parse(Console.ReadLine());
int[] arr = new int[n]; int min = 0;int max = n - 1;
int mid = min + (max - min) / 2;int temp;
for (int i = 0; i <= n - 1; i++)
{
arr[i] = i *5;
}
while (true)
{
temp = arr[mid];
if (arr[mid] == key)
{
Console.WriteLine("Position is: " + mid); break;
}
else if (arr[mid] < key) min = mid;
else max = mid;
mid = min + (max - min) / 2;
if(arr[mid]==temp)
{
Console.WriteLine("Not Found"); break;
}
}
}
}
}
mid = ...statement isn't used in the fill loop, so it should come after it. \$\endgroup\$Console.WriteLine("Not Found"); break;should be two lines. It made the break statements a lot easier to miss. \$\endgroup\$