Sıralama Algoritmaları - 6. Cüce Sıralama (Gnome Sort)

Cüce sıralaması (İngilizcesi: Gnome sort), bilgisayar bilimlerinde kullanılan araya sokmalı sıralamaya benzer bir sıralama algoritmasıdır.

İngilizce Adı Gnome Sort
Ortalama -
En kötü O(n²)
Bellek O(1)
Kararlı mı? Evet
Yöntem Karşılaştırma ile Değiştirme

Cüce sıralaması (İngilizcesi: Gnome sort), bilgisayar bilimlerinde kullanılan araya sokmalı sıralamaya benzer bir sıralama algoritmasıdır. Ara sokmalı sıralamadan farkı kabarcık sıralaması yönteminde olduğu gibi, bir elemanın sıralanan dizideki yerine birçok yer değiştirme yoluyla gelmesidir. Cüce Sıralaması adı algoritmanın yönteminin mitolojideki Hollanda cücelerinin (gnome) bir dizi çiçek saksısını sıraya diziş biçimine benzemesinden kaynaklanmaktadır.

Kod örneği:

public class CuceSiralama
{
    int[] dizi;
    public int[] Dizi
    {
        get { return dizi; }
        set { dizi = (int[])value.Clone(); }
    }

    public CuceSiralama()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public void Sirala()
    {
	GnomeSort(Dizi);
    }

    public override string ToString()
    {
        return "Cüce Sıralama";
    }

    void GnomeSort(int[] array)
    {
        for (int i = 1, temp_value; i < array.Length; )
        {
            if (array[i - 1] <= array[i])
                i += 1;
            else
            {
                temp_value = array[i - 1];
                array[i - 1] = array[i];
                array[i] = temp_value;
                i -= 1;
                if (i == 0)
                    i = 1;
            }
        }
    }
}