Selection Sorting Java

Selection sorting adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Selection Sort membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar.

Selection sort tidak terlalu sulit untuk menganalisa dibandungkan dengan jenis sorting yang lainnya karena tidak bergantung pada data yang diperoleh oleh array. Pemilihan elemen terendah memerlukan pemindaian seluruh elemen n (memerlukan perbandingan n − 1) dan kemudian menukar menjadi posisi pertama. Kemudian mencari elemen terendah berikutnya dengan memindai seluruh elemen n – 1 yang tersisa dan seterusnya, untuk perbandingan (n − 1) + (n − 2) + ... + 2 + 1 = n(n − 1) / 2 Θ(n2). Masing-masing pemindaian membutuhkan pergantuan untuk  elemen n − 1.

Bagaimana untuk mengurutkan 5,1,12,-5,16,2,12,14 ini menggunakan selection sorting, gambarannya seperti di bawah ini :












































maka kita dapat membuat coding selection sort seperti dibawah ini :

// Abdul Hamid //
public class UASSelectionSort {
       
          public static int[] doSelectionSort(int[] arr){ 
              for (int i = 0; i < arr.length - 1; i++)
              {
                  int index = i;
                  for (int j = i + 1; j < arr.length; j++)
                      if (arr[j] < arr[index])
                          index = j;
           
                  int smallerNumber = arr[index];
                  arr[index] = arr[i];
                  arr[i] = smallerNumber;
              }
              return arr;
          }
          public static void main(String a[]){
              int[] arr1 = {5,1,12,-5,16,2,12,14 };
              int[] arr2 = doSelectionSort(arr1);
              for(int i:arr2){
                  System.out.print(i);
                  System.out.print(", ");
              }
            }
          }

Output :
-5, 1, 2, 5, 12, 12, 14, 16,


Berikut screen shoot setelah di run pada eclipse
















0 komentar: