Page 142 - Modul Algoritma dan Pemrograman Dasar
P. 142

4)  Selama  proses,  pembandingan  dan  pengubahan  hanya

                                    dilakukan  pada  indeks  pembanding  saja,  pertuLaran  data

                                    secara fisik terjadi pada akhir proses.

                                 Contoh fungsi selection sort:


                                    1)  #include <iostream>
                                    2)  using namespace std;
                                    3)
                                    4)  void selectionSort(int arr[], int n){
                                    5)      int i, j, min_idx;
                                    6)      for (i = 0; i < n-1; i++){
                                    7)          min_idx = i;
                                    8)          for (j = i+1; j < n; j++)
                                    9)              if (arr[j] < arr[min_idx])
                                    10)                 min_idx = j;
                                    11)         swap(arr[min_idx], arr[i]);
                                    12)     }
                                    13) }
                                    14)
                                    15) void printArray(int arr[], int n){
                                    16)     int i;
                                    17)     for (i=0; i < n; i++)
                                    18)         cout << arr[i] << " ";
                                    19)     cout << endl;
                                    20) }
                                    21)
                                    22) int main(){
                                    23)     int arr[] = {64, 25, 12, 22, 11};
                                    24)     int n = sizeof(arr)/sizeof(arr[0]);
                                    25)     selectionSort(arr, n);
                                    26)     cout << "Sorted array: \n";
                                    27)     printArray(arr, n);
                                    28)     return 0;
                                    29) }


                                Hasil














                                                                                                    137
   137   138   139   140   141   142   143   144   145   146   147