Metode Pengurutan data dengan insertion Sort adalah : pengurutan data dilakukan denga mengurutkan data ke-1 dimana data ke-1 dimulai dari data ke-2 sampai terakhir. jika ditemukan data yang lebih kecil maka data tersebut akan disisipkan kedepan sesuai dengan posisi yang seharusnya.
procedure asc_insert; var temp,k:integer; begin For i := 2 to jmldata do Begin Temp :=data[i]; j := i-1; while (data[j] > temp) and (j>0) do begin data[j+1] := data[j]; dec(j); end; data[j+1]:=temp; end; end; Programnyapun kayak di bawah ini: #include <iostream.h> #include <conio.h> int data[10],data2[10]; int n; void tukar(int a, int b) {
int t; t = data[b]; data[b] = data[a]; data[a] = t; } void insertion_sort() { int temp,i,j; for(i=1;i<=n;i++) { temp = data[i]; j = i -1; while(data[j]>temp && j>=0) { data[j+1] = data[j]; j--; } data[j+1] = temp; } } void main() { cout<<"===PROGRAM INSERTION SORT==="<<endl; //Input Data cout<<"Masukkan Jumlah Data : "; cin>>n; for(int i=1;i<=n;i++) { cout<<"Masukkan data ke "<<i<<" : "; cin>>data[i]; data2[i]=data[i]; } insertion_sort(); cout<<"\n\n"; //tampilkan data cout<<"Data Setelah di Sort : "; for(int i=1; i<=n; i++) { cout<<" "<<data[i]; } cout<<"\n\nSorting Selesai"; getch(); }
Insertion Sort
Metode pengurutan selection sort sering dipakai oleh orang saat bermain kartu bridge dalam mengurutkan kartunya, yaitu dengan cara menyisip kartu yang lebih kecil ke urutan sebelum posisi kartu yang dibandingkannya. Perhatikan tabel berikut. :
01 #include <iostream.h> 02 #include <conio.h> 03 04 int data[10],data2[10]; 05 int n; 06 07 void tukar(int a, int b) 08 { 09 int t; 10 t = data[b]; 11 data[b] = data[a]; 12 data[a] = t; 13 } 14 15 void insertion_sort() 16 { 17 int temp,i,j; 18 for(i=1;i<=n;i++) 19 { 20 21 22 23 temp = data[i]; j = i -1; while(data[j]>temp && j>=0) {
24 25 26 }
27 data[j+1] = temp; 28 } 29 } 30 int main() 31 { 32 cout<<"===PROGRAM INSERTION SORT==="<<endl; 33 34 //Input Data 35 cout<<"Masukkan Jumlah Data : "; 36 cin>>n; 37 for(int i=1;i<=n;i++) 38 { 39 40 41 42 } 43 44 insertion_sort(); 45 46 cout<<"\n\n"; cout<<"Masukkan data ke "<<i<<" : "; cin>>data[i]; data2[i]=data[i];
47 //tampilkan data 48 cout<<"Data Setelah di Sort : "; 49 for(int i=1; i<=n; i++) 50 { 51 52 } 53 cout<<"\n\nSorting Selesai"; 54 getch(); 55 return 0; 56 } cout<<" "<<data[i];