IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 29 Kasım 2011, 12:00   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
C# Programlama ile Insertion Sort





Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

Veri yapılarında insertion(araya sokma) ile sıralama işlemlerinde, karışık olarak dizilmiş sayılar iki gruba ayrılır. İlk grup sıralanacak ya da sıralama işleminin gerçekleştiği grup, geri kalanı da karışık olan veri grubudur. Bu işlemlerde for döngümüzü ikinci sıradaki elemandan başlatırız. Bir öncekiyle karşılaştırma yaptırarak sıralama işlemini gerçekleştiririz. Karşılaştırdığımız sayı, kendisinden küçükse sol tarafa geçer.Resmi incelerseniz daha iyi anlayabilirsiniz. Sıralanmış olan yere kadar bir grup, diğer taraf bir grup şeklinde ayrılır. Şimdi yapacağımız örnekle daha iyi anlayacağınızı umuyorum. Bu programda sayıları kendimiz gireceğiz, program da bize küçükten büyüğe doğru sıralanmış halini verecek. Büyükten küçüğe doğru sıralamak için de tek bir satırda değişiklik yapacağız. Onu da o satırın yanında yorum olarak belirteceğim. Kodlar:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace bolubeyi.net { class Program { static void Main(string[] args) { int[] dizi = new int[6]; Console.WriteLine("-----------GİRİLEN DEĞERLER---------"); Console.WriteLine("elemanları girin:"); for (int k = 0; k < 6; k++) dizi[k] = Convert.ToInt32(Console.ReadLine()); insertion(dizi); } static void insertion(int[] dizi) { int i, j; int temp; for (i = 1; i < dizi.Length; i++) { temp = dizi[i]; j = i; while ((j > 0) && (dizi[j - 1] > temp))//"< temp" yapılırsa büyükten küçüğe sıralar. { dizi[j] = dizi[j - 1]; j = j - 1; } dizi[j] = temp; } Console.WriteLine("-----------SIRALANMIŞ HALİ----------"); for (int m = 0; m < 6; m++) Console.WriteLine(dizi[m]); } } }

Öncelikle main fonksiyonumuz içerisinde 6 elemanlı bir dizi tanımladık. Değerleri girerek, insertion fonksiyonuna gönderdik. Bu sıralama işleminde karşılaştırmaya 2. elemandan başlayacağımızı yukarıda belirtmiştim. Bu yüzden for döngüsünü 1'den başlattık. While döngümüz içerisinde de bir önceki elemanla karşılaştırma işlemini yaptırdık. Geriye bu işlemi ekrana basmak kaldı. Çıkıtınızda girdiğiniz değerlerin küçükten büyüğe doğru sıralandığını göreceksiniz. Ayrıca yorum satırında da belirttiğim gibi "temp"'in solundaki ">" işaretini "<" yaparsanız büyükten küçüğe doğru sıralamış olursunuz.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
c#, ile, insertion, programlama, sort


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık