Sabtu, 28 Mei 2011

INSERTION SORT


Insertion Sort
Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (angka pertama), dan yang telah diurutkan (angka kedua). Elemen pertama yang diambil dari bagian array yang belum diurutkan dan kemudian diletakkan pada posisinya sesuai dengan bagian lain dari array yang telah diurutkan. langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan, dan berikut ini adalah sourcecode dari algoritma diatas:

#include <iostream.h>
#include <conio.h>


int data[10],data2[10];
int n;

void menukar(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>=1)
{
data[j+1]=data[j];
j--;
}
data[j+1]=temp;
}
}
void main()
{
cout<<"+=============================================+"<<endl;
cout<<"+=============Program Insertion Sort==========+"<<endl;
cout<<"+=============================================+"<<endl;
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";

cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\n+=============Sorting Selesai==========+"<<endl;
getch();
}

Untuk program diatas saya membuat menggunakan Borland C++ seperti pada gambar di bawah ini:
Nah setelah temen-temen mengetik sourcecodenya silahkan di run maka hasilnya seperti gmbar di bawah ini:

Demikian program insertion sort silahkan dicoba…

0 komentar:

Posting Komentar