Bu örneğimizde C# ile Bubble Sort Sıralama algoritması oluşturarak adım adım nasıl sıralama işleminin gerçekleştirildiğini göreceğiz.
Aşağıdaki gif dosyası Buble Sort Sıralama mantığının nasıl çalıştığını göstermektedir.
Bizde örneğimizi oluştururken her geçiş için dizinin o anki halini yazdırarak her geçiş sonucu sıralamanın o anki halini görmüş olacağız. Programın çalıştırıldığında ekran görüntüsünü kodların sonunda görebilirsiniz.
Örneğimizde dizi elemanlarını yazdırma işlemini bir metot kullanarak yapacağız. Dizinin kaç elemanlı olacağı ve bu elemanların girişi kullanıcı tarafından yapılarak gerekli yerlerde DiziYazdir metodu çağrılarak dizi elemanlarının ekranda görüntülenmesini sağlayacağız.
Kodlarımızın tamamı aşağıdaki gibi olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BubleSort { class Program { static void Main(string[] args) { int gecici; Console.Write("Kaç Adet Sayı Girilecek ? >>>> "); int k = Convert.ToInt32(Console.ReadLine()); int[] dizi = new int[k]; for (int i = 0; i < k; i++) { Console.Write("Dizinin {0}. elemanını girin : ", i + 1); dizi[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("******************************"); Console.WriteLine("Oluşturulan Dizi"); DiziYazdir(dizi); //////////Bubble Sort Sıralama///////////////// //////////www.yazilimkodlama.com/////////////// for (int i = 0; i <= dizi.Length - 1; i++) { for (int j = 1; j <= dizi.Length - 1; j++) { if (dizi[j - 1] > dizi[j]) { gecici = dizi[j - 1]; dizi[j - 1] = dizi[j]; dizi[j] = gecici; } } DiziYazdir(dizi); } Console.WriteLine("Dizinin Sıralı Hali"); DiziYazdir(dizi); Console.ReadKey(); } public static void DiziYazdir(int[] dizi) { for (int i = 0; i < dizi.Length; i++) { Console.Write("{0} ", dizi[i]); } Console.WriteLine(); Console.WriteLine("=================================="); } } } |
Resmin üzerine tıklayarak resmi büyütebilirsiniz.