using System;
namespace BinarySearch
{
class Program
{
static void Main(string[]
args)
{
int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
Searching s = new
Searching();
bool b = s.binarySearch(arr, 4);
Console.WriteLine(b);
}
}
class Searching
{
public bool binarySearch(int[]
ar, int tal)
{
bool svar = false;
int min = 0;
int max = ar.Length - 1;
int mid = (((max - min) / 2) + min);
bool kør = true;
while (kør == true)
{
printUd(min, max, mid, ar, tal);
if (min >= max)
{
kør = false;
}
if (tal > ar[mid])
{
min = mid + 1;
}
if (tal < ar[mid])
{
max = mid - 1;
}
if (tal == ar[mid])
{
svar = true;
kør = false;
}
mid = (((max - min) / 2) + min);
}
return svar;
}
private void printUd(int min,
int max, int middle, int[] liste, int søgeTal)
{
string listen = "";
for (int i = 0; i < liste.Length; i++)
{
String indsæt = liste[i] + "";
if (i == max)
indsæt = indsæt + "]";
if (i == min)
indsæt = "[" + indsæt;
if (i == middle)
indsæt = "(" + indsæt + ")";
listen = listen + "-" + indsæt;
}
Console.WriteLine(listen);
}
}
}
|