İkili arama algoritması örneği — C# Console
[code lang=”csharp”]
using System;
using System.Collections.Generic;
using System.Linq;//www.gorselprogramlama.com
using System.Text;
namespace İkili_arama_algoritması
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
int[] sayilar = {1,2,4,7,9,11,15}; // Aranacak Dizi
Array.Sort(sayilar); // K=>B sıraladık
int aranan = sayilar[r.Next(0,sayilar.Length)];
int baslangic = 0;//www.gorselprogramlama.com
int bitis = sayilar.GetUpperBound(0);
int orta = baslangic + bitis / 2;
for (int i = 0; i < 10; i++)
{
while (baslangic <= bitis)
{
orta = (baslangic + bitis) / 2;
if (sayilar[orta] > aranan)
{
bitis = orta – 1;//www.gorselprogramlama.com
}
else if (sayilar[orta] < aranan)
{
baslangic = orta + 1;
}
else
{
Console.WriteLine((i+1) + "/10 Aranan Sayı : " + sayilar[orta] + " Bulunan : " + aranan);
break;
}
}
aranan = sayilar[r.Next(0, sayilar.Length)];
baslangic = 0;//www.gorselprogramlama.com
bitis = sayilar.GetUpperBound(0);
}
Console.ReadKey();
}
}//www.gorselprogramlama.com
}
[/code]
