Pada insertion sort, pengurutan dilakukan dari indeks ke-1 (bukan ke-0).
Dari indeks ke-1, dibandingan dengan data – data sebelumnya (dalam hal ini 0).
jikaterdapat nilai yang lebih besar, maka lakukan swapping. Begitu seterusnya,
hingga pada indeks terakhir array.
#include <iostream.h>
#include <conio.h>
void main()
{
cout<<"===PROGRAM insertion SORT==="<<endl;
int pos,i,j,t,k,temp;
//Input Data
int data[8]={5,4,2,1,3};
cout<<"Data sebelum diurut: "<<endl;
for(int ctr=0; ctr<5; ctr++)
{
cout<<" "<<data[ctr];
}
cout<<endl;
for(i=1;i<=4;i++){
temp = i;
for(j=i-1;j>=0;j--)
if (data[temp] < data[j]) {
t = data[temp];
data[temp] = data[j];
data[j] = t;
temp=j;
cout<<data[0]<<" "<<data[1]<<" "<<data[2]<<" "<<data[3]<<" "<<data[4]<<" "<<endl;
}
}
cout<<endl;
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=0; i<=4; i++)
cout<<" "<<data[i];
cout<<endl;
cout<<"\n\nSorting Selesai";
getch();
}
0 komentar:
Posting Komentar