Insertion Algoritmasina gore siralanmis sekli.
Rasgele sayi yaratmak kolay oldugu icin deginmiyorum. Ancak insertion siralama algoritmasini ogrenmek cok onemlidir cunku buble(kabarcik) sort algoritmasinin 2 kati ve selection(secmeli) sorta gore %40 daha hizli calisir. Insertion sort mantiginda bir eleman kendinden once gelen elemanla kontrol edilir ve istenilen siralama (buyukten kucuge yada kucukten buyuge) durumuna gore yer degistirir burda en onemli olan kullanilan temp degiskenidir. Cunku algoritmayi kullanabilmek icin bi tane gecici deger (yani bir onceki sayinin degerini) tutacak bir degiskene ihtiyacimiz vardir. temp degiskeninin calisma prensibine asagidaki kodlari inceleyerek bir goz atin ve herhangi bir sorunuz olursa ben burdayim. Saygilar.
using System;
namespace Rasgele
{
class Program
{
static **** Main(string[] args)
{
Random rasgele = new Random();
int[] sayi = new int[10];
int temp = 0;
for (int i = 0; i < sayi.Length; i++) // Rasgele 10 sayi uretiyoruz
{
sayi = rasgele.Next(0, 10001);
Console.WriteLine("Secilen {0}. sayi = {1}", (i + 1), sayi);
}
for (int i = 0; i < sayi.Length; i++) // Insertion selection algoritmasi bu dongude kullanilir
{
temp = sayi;
int j = i;
while ((j > 0) && (sayi[j - 1] > temp))
{
sayi[j] = sayi[j - 1];
j = j - 1;
}
sayi[j] = temp;
}
Console.WriteLine("\nKucukten Buyuge siralanmis sekli :\n");
for (int i = 0; i < sayi.Length; i++) // Burdada sayilarin siralanmis seklini yazdiriyoruz
{
Console.WriteLine("{0}. = {1}", (i + 1), sayi);
}
Console.Read();
}
}
}
bu arada **** yildiz olarak cikan yere v oid gelecek arada v den sonra bosluk birakmayin sistemde gozukmuyor saygilar.