19 Aralık 2019

Sıralama Algoritmaları C# | (Bubble Sort & Selection Sort & Insertion Sort)

ile Volkan Kalay

Merhabalar!

Uzun bir aradan sonra yeni bir paylaşımla buradayım. Bu yazıda sıralama algoritmalarından Bubble Sort (Kabarcık Sıralaması), Selection Sort (Seçme Sıralaması) ve Insertion Sort (Sokma-Ekleme Sıralaması) konularını ele alacağım.

Hızlıca başlamak isterim. 

1- Bubble Sort

Bu algoritmayı kısaca anlatmak gerekirse; Bubble Sort, dizinin yan yana bulunan ilk iki elemanını kıyaslama ile sıralamaya başlar. Küçük olan veriyi sola alacak şekilde yer değiştirme (swap) işlemi yapar. Bu işlemi tüm sayıları sıraya koyana kadar tekrar eder.

Aşağıda C# kodunu bulabilirsiniz.

public void bubbleSort(int []arr)
        {
            bool takas = true;
            int j = 0;
            int temp;
            while (takas)
            {
                takas = false;
                j++;
                for(int i =0;i<arr.Length-j;i++)
                {
                    if(arr[i]>arr[i+1])
                    {
                        temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                        takas = true;
                    }
                }
            }
        }

2- Selection Sort

Basitçe her adımda dizideki en küçük sayının nerede olduğu bulunur. Bu sayı ile dizinin başındaki sayı yer değiştirilerek en küçük sayılar seçilerek başa atılmış olur.

       public void selectionSort(int[]arr,int n)
        {
            int minIndex;
            int temp;
            for(int i = 0; i < n; i++)
            {
                minIndex = i;
                for (int j = i; j < n; j++)
                {
                    if (arr[j] < arr[minIndex])
                    {
                        minIndex = j;
                    }
                        temp = arr[i];
                        arr[i] = arr[minIndex];
                        arr[minIndex] = temp;
                }
            }
        }

3- Insertion Sort


        public void insertionSort(int [] arr)
        {
            int i, j, Tasinan;
            for (i = 1; i < arr.Length; i++)
            {
                Tasinan = arr[i];
                j = i;
                while (j > 0 && arr[j - 1] > Tasinan)
                {
                    arr[j] = arr[j - 1];
                    j--;
                }
                arr[j] = Tasinan;
            }
        }

İndirme

Windows için C# tabanlı uygulamayı indirmek için tıklayınız.