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