Assalamualikum w.w,
Berikut ini adalah materi dari SEARCING AND SORTING. Program yang dibuat yaitu tentang E-Book (How To Solve It By Computer) = Algorithm 5.4 Sorting By Insertion.
Algoritma :
1. membangun sebuah
array [1 .. n] elemen n.
2. menemukan minimum dan meletakkannya di tempat untuk bertindak sebagai sentinel :
3. sementara masih ada unsur-unsur yang akan dimasukkan di bagian memerintahkan melakukan
a.Pilih x elemen berikutnya untuk dimasukkan
b.sementara x kurang dari sebelumnya unsur melakukan
c.insert x pada posisi saat ini
for i:=2 to n do
begin {search for x's position then insert it}
j:=1; x:=a[i];
while x>a[j] do j:=j+1
for k:= i down to j+1 do a[k]:= a[k-1];
a[j]:=x
end
2. menemukan minimum dan meletakkannya di tempat untuk bertindak sebagai sentinel :
3. sementara masih ada unsur-unsur yang akan dimasukkan di bagian memerintahkan melakukan
a.Pilih x elemen berikutnya untuk dimasukkan
b.sementara x kurang dari sebelumnya unsur melakukan
c.insert x pada posisi saat ini
for i:=2 to n do
begin {search for x's position then insert it}
j:=1; x:=a[i];
while x>a[j] do j:=j+1
for k:= i down to j+1 do a[k]:= a[k-1];
a[j]:=x
end
Program C++ :
#include <iostream.h>
void main(){
int data[100];
int a,b,c,d,x;
int temp;
cout<<"PROGRAM SORTING DATA "<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"Masukkan jumlah data : ? ";cin>>x;
for(d=1;d<=x;d++)
{
cout<<"Data ke-"<<d<<" = ";cin>>data[d];
}
cout<<"\nData Sebelum Diurutkan \n";
for(d=1;d<=x;d++){
cout<<"\t"<<data[d];
}
for(a=0;a<x;a++){
for(b=0;b<x;b++)
if(data[b]>= data[b+1])
{
temp=data[b];
data[b]=data[b+1];
data[b+1]=temp;
}
}
cout<<"\n\nData setelah diurutkan :\n";
for(c=0;c<x;c++)
cout<<"\t"<<data[c];
cout<<"\n\n---------------------------------------------"<<endl
}
int data[100];
int a,b,c,d,x;
int temp;
cout<<"PROGRAM SORTING DATA "<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"Masukkan jumlah data : ? ";cin>>x;
for(d=1;d<=x;d++)
{
cout<<"Data ke-"<<d<<" = ";cin>>data[d];
}
cout<<"\nData Sebelum Diurutkan \n";
for(d=1;d<=x;d++){
cout<<"\t"<<data[d];
}
for(a=0;a<x;a++){
for(b=0;b<x;b++)
if(data[b]>= data[b+1])
{
temp=data[b];
data[b]=data[b+1];
data[b+1]=temp;
}
}
cout<<"\n\nData setelah diurutkan :\n";
for(c=0;c<x;c++)
cout<<"\t"<<data[c];
cout<<"\n\n---------------------------------------------"<<endl
}
system("PAUSE");
return EXIT_SUCCESS;
}
Alhamdulillah
Selamat mencoba dan semoga bermanfaat :)
Wassalamualikum w.w.
0 komentar:
Posting Komentar