C# Programlama ile Insertion Sort

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
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:
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.
 
Benzer konular Forum Tarih
Ahbap C# 4 289
Ahbap C# 4 1K
Ahbap C# 3 276
Ahbap C# 3 246
Ahbap C# 4 2K

Benzer konular

DarK

< MasaLFM.Net >
Forum Üyesi
Katılım
1 Nisan 2019
Mesajlar
622
Tepkime puanı
0
emeğine yüreğine sağlık
 

SiyahLi

Harbi Üye
Forum Üyesi
Katılım
2 Mayıs 2020
Mesajlar
3,476
Tepkime puanı
8
Takım
Beşiktaş
Teşekkürler
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş - genel forum - webp converter