INSERTION SORT
Insertion
Sort (Metode Penyisipan)
- Insertion Sort merupakan algoritma yang
efisien untuk mengurutkan angka yang mempunyai jumlah elemen sedikit.
Dimana:- Input : deretan angka sejumlah n buah
- Output : permutasi (pengurutan) sejumlah n angka dari input yang sudah terurut secara ascending maupun descending
- Metode penyisipan (Insertion sort)
bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan
seluruh array berhasil diurutkan.
- Metode ini mengurutkan bilangan-bilangan
yang telah dibaca; dan berikutnya secara
berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut.
- Bagian biru/abu-abu (dua bilangan
pertama) sekarang dalam keadaan terurut secara relatif.
Berikutnya, kita perlu menyisipkan bilangan ketiga (4) ke dalam bagian biru/abu-abu sehingga
setelah penyisipan tersebut, bagian biru/abu-abu tetap dalam keadaan terurut secara relatif;
CARANYA :
pertama : Ambil bilangan ketiga (4).
- Ketiga : Sisipkan bilangan 4 ke posisi
yang tepat
- Sekarang, tiga bilangan pertama sudah
terurut secara relatif dan kita sisipkan bilangan keempat kepada tiga
bilangan pertama tsb. Setelah penyisipan, empat bilangan pertama
haruslah dalam keadaan terurut secara relatif.
- Ulangi proses tsb sampai bilangan
terakhir disisipkan
- Proses Sorting Selesai
Contoh koding Insertion sort
#include <iostream>
#include <conio.h>
using namespace std ;
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;
}
}
int main()
{
cout<<"\t\t\t===PROGRAM INSERTION
SORT===\n\n"<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : ";
cin>>n;
cout<<"\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();
};
hasil :
referensi :
http://sisinform-aaf1231072.blogspot.com/2013/02/insertion-sort.html
Tidak ada komentar:
Posting Komentar