Page 39 - karlina Ebook
P. 39

Kasus 2: Insertion Sort


                   void insertion_sort (int arr[], int length){
                                     int j, temp;

                            for (int i = 0; i < length; i++){
                                     j = i;

                                     while (j > 0 && arr[j] < arr[j-1]){
                                                temp = arr[j];
                                                arr[j] = arr[j-1];
                                                arr[j-1] = temp;
                                                j--;
                                                }
                                     }
                   }
                 Kasus 3: Selection Sort


                   void selectSort(int arr[], int n)
                    {
                   //pos_min adalah posisi terpendek dari nilai minimum

                            int pos_min,temp;

                            for (int i=0; i < n-1; i++)
                            {
                                pos_min = i;

                    //set pos_min menjadi current index of array

                                     for (int j=i+1; j < n; j++)
                                     {

                                     if (arr[j] < arr[pos_min])
                                      pos_min=j;
                   //pos_min akan menyimpan indeks yang mengandung nilai paling
                   minimum, hal ini dibutuhkan ketika proses swap terjadi
                                     }

                    //jika pos_min tidak lagi sama dengan i maka nilai yang lebih
                   kecil harus ditemukan, maka sebuah pertukaran harus terjadi
                                if (pos_min != i)
                               {
                                     temp = arr[i];
                                    arr[i] = arr[pos_min];
                                    arr[pos_min] = temp;
                               }
                            }
                   }














                                                                                                       36
   34   35   36   37   38   39   40   41   42   43   44