A. INSERTION SORTING
1. Sedikit pengertian dan review
Untuk
menjelaskan algoritma pengurutan dengan metode penyisipan, bayangkan
setumpuk kartu ada di meja,
dengan nomor :
[8, 4, 7, 3, 1, 2, 6, 5]
Pertama, kartu 8,
diperoleh di tangan kiri :
[8]
Kedua, diambil kartu
nomor 4, karena lebih kecil dari 8, ditaruh di sebelah kiri, sehingga
diperoleh :
[4, 8]
Ketiga, diambil kartu
nomor 7, dibandingkan dengan kartu pertama, 7 lebih besar dari 4 dan
lebih kecil dari 8, sehingga 7
diletakkan di antara 4 dan 8 :
[4, 7, 8]
Mulai langkah ketiga ini, kita
dapat menarik kesimpulan, bahwa “tempat yang tepat” berarti
“kartu yang saat ini diambil akan
diletakkan berada di antara yang kecil dan yang besar dari
kartu yang diambil tersebut”.
Urutan selengkapnya adalah
sebagai berikut :
Data awal : [8, 4, 7, 3, 1, 2, 6,
5]
fase 1, 4 masuk [4, 8, 7, 3, 1, 2, 6, 5]
fase 2, 7 masuk [4, 7, 8,
3, 1, 2, 6, 5]
fase 3, 3 masuk [3, 4, 7, 8, 1, 2, 6, 5]
fase 4, 1 masuk [1, 3, 4, 7, 8, 2, 6, 5]
fase 5, 2 masuk [1, 2, 3,
4, 7, 8, 6, 5]
fase 6, 6 masuk [1, 2, 3, 4, 6,
7, 8, 5]
fase 7, 5 masuk [1, 2, 3, 4, 5,
6, 7, 8]
fase
8 [1, 2, 3, 4, 5, 6, 7, 8]
2. Algoritma Program Insertion sorting
*Deklarasi: k, j, temp : integer
*Deskripsi : for k 2 to n do temp := data
[k]; j := k-1;
3.INPUT & OUTPUT
*input : [5, 4, 3, 2, 1, ]
Pertama, kartu 4, diperoleh di tangan
: [5 ,4 3, 2, 1, ] Kedua, diambil kartu nomor 5
*Output : [4,5], Karena 4 lebih kecil dari
5, maka 4 di letkan sebelah kiri dari 5 / sebelum angka 5
4.Program Raptor nya
5.
Source codenya c++
#include
<iostream>
/*
run this program using the console pauser or add your own getch,
system("pause") or input loop */
using
namespace std;
void
insertionSort(int arr[], int length);
void
printArray(int array[],int size);
int
main(int argc, char** argv) {
int
array[5]= {5,4,3,2,1};
insertionSort(array,5);
return
0;
}
void
insertionSort(int arr[], int length) {
int
i, j ,tmp;
for
(i = 1; i < length; i++) {
j
= i;
while (j > 0
&& arr[j - 1] > arr[j]) {
tmp = arr[j];
arr[j] = arr[j -
1];
arr[j - 1] = tmp;
j--;
}
printArray(arr,5);
}
}
void
printArray(int array[], int size){
cout<< "Sorting tha array using Insertion
sort... ";
int j;
for
(j=0; j < size;j++)
for (j=0; j <
size;j++)
cout
<<" "<< array[j];
cout << endl;
}
*
OUTPUT NYA
Selection Sort: Yogi Anggara