insertion sort descending merupakan program pengurutan dengan cara membandingkan data pertama dan setelahnya agar data terurut dari yang terbesar ke yang kecil.
misalkan diberikan data sebagai berikut
3 5 7 2
maka 3 dan 5 akan dibandingkan kemudian datanya menjadi
5 3 7 2
lalu akan dibandingkan lagi 3 dan 7
5 7 3 2 dan seterusnya,
berikut contoh program ,, selamat mencoba.
misalkan diberikan data sebagai berikut
3 5 7 2
maka 3 dan 5 akan dibandingkan kemudian datanya menjadi
5 3 7 2
lalu akan dibandingkan lagi 3 dan 7
5 7 3 2 dan seterusnya,
berikut contoh program ,, selamat mencoba.
#include <iostream>
using namespace std;
void StraightInsertSort();
int Data[10], Max;
int main()
{
cout<<"************************************************\n\n";
cout<<"\tPROGRAM STRAIGHT INSERTION SORT\n\n";
cout<<"************************************************\n\n";
cout<<"Masukkan banyak data : ";
cin>>Max;
for (int a=0; a<Max; a++)
{
cout<<"masukkan data ke-"<<a<<" : "; cin>>Data[a];
}
StraightInsertSort();
cout<<"\nsetelah diurutkan, data menjadi : \n";
for (int b=0; b<Max; b++)
{
cout<<Data[b]<<"\t";
}
cout<<"\n\n";
system ("pause");
return 0;
}
void StraightInsertSort()
{
int i, j, x, cek;
for(i=1; i<Max; i++)
{
x = Data[i]; j = i - 1; cek=1;
while ( x < Data[j] && cek==1)
{
Data[j+1] = Data[j]; j--;
if (j<0)
{ cek=0; }
}
Data[j+1] = x;
}}
using namespace std;
void StraightInsertSort();
int Data[10], Max;
int main()
{
cout<<"************************************************\n\n";
cout<<"\tPROGRAM STRAIGHT INSERTION SORT\n\n";
cout<<"************************************************\n\n";
cout<<"Masukkan banyak data : ";
cin>>Max;
for (int a=0; a<Max; a++)
{
cout<<"masukkan data ke-"<<a<<" : "; cin>>Data[a];
}
StraightInsertSort();
cout<<"\nsetelah diurutkan, data menjadi : \n";
for (int b=0; b<Max; b++)
{
cout<<Data[b]<<"\t";
}
cout<<"\n\n";
system ("pause");
return 0;
}
void StraightInsertSort()
{
int i, j, x, cek;
for(i=1; i<Max; i++)
{
x = Data[i]; j = i - 1; cek=1;
while ( x < Data[j] && cek==1)
{
Data[j+1] = Data[j]; j--;
if (j<0)
{ cek=0; }
}
Data[j+1] = x;
}}
Output Program