Page 170 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 170
// Algoritma Pengurutan Insertion Sort
void insertionSort(int arr[], int ukuranArray){
int j, temp;
for (int i = 1; i < ukuranArray; i++) {
temp = arr[i];
j = i - 1;
cout << "Perulangan Ke #" << i << endl;
cetakArray(arr, ukuranArray);
cout << "Sisipkan " << arr[j+1] << endl;
while (j >= 0 && arr[j] > temp ) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
cout << "Hasil: " << endl;
cetakArray(arr, ukuranArray);
cout << endl;
}
}
Output:
Keadaan awal array
4 1 8 3 7 2
Perulangan Ke #1
4 1 8 3 7 2
Sisipkan 1
Hasil:
1 4 8 3 7 2
Perulangan Ke #2
1 4 8 3 7 2
Sisipkan 8
Hasil:
1 4 8 3 7 2
Perulangan Ke #3
1 4 8 3 7 2
Sisipkan 3
Hasil:
1 3 4 8 7 2
Perulangan Ke #4
1 3 4 8 7 2
Sisipkan 7
Hasil:
1 3 4 7 8 2
Perulangan Ke #5
1 3 4 7 8 2
Sisipkan 2
Hasil:
1 2 3 4 7 8
Hasil Akhir Pengurutan:
1 2 3 4 7 8
147