Minggu, 03 Juli 2011

Program C++ Insertion Sort

Algoritma
Procedure Insertion Sort ( input/output data : larik, input n : integer )
Deskripsi
for i ß 1 to n do
temp = data[i]
j = i -1
while ( data[j]>temp dan j>=0 )
data[j+1] = data[j]
data[j+1] = temp
endwhile
endfor



Berikut programnya :
#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;
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<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting dengan insertion sort Selesai";
getch();
}

Program di atas adalah program penyisipan. Misal data pertama akan dibandingkan dengan data yang ada berikutnya.Jjika data kedua atau selanjutnya lebih kecil dari data yang ada pada data sebelumnya, dilakukan pertukaran data tempat atau posisi. Demikian pula, untuk data kedua sampai data terakhir yang dilakukan dengan cara yang sama.

Tidak ada komentar:

Posting Komentar