1.
Buatlah 2 program pengurutan dengan menggunakan
metode insertion sort da quick sort dengan jumlah data sebanyak N bilangan acak
T.
Input :
Nilai N dan T sejumlah N
Output :
a.
Urutan bilangan secara Ascending
b.
Urutan bilangan secara descending
·
INSERTION SORT
|
#include<iostream>
using
namespace std;
int n;
int
data[30],data2[30];
void input()
{
cout<<"MASUKKAN JUMLAH DATA=
";cin>>n;
cout<<"==============================="<<endl;
for(int i=0;i<n;i++)
{
cout<<"MASUKKAN DATA
KE-"<<i+1<<" = ";cin>>data[i];
data2[i]=data[i];
}
cout<<"==============================="<<endl;
cout<<endl;
}
void
tampil()
{
for(int i=0;i<n;i++)
{
cout<<data[i]<<"
";
}
cout<<endl;
}
void tampil1()
{
for(int i=0;i<n;i++)
{
cout<<data2[i]<<"
";
}
cout<<endl;
}
void
insertion_sort_asc()
{
int temp,i,j;
for(i=0;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;
tampil();
}
cout<<endl;
}
void
insertion_sort_desc()
{
int temp,i,j;
for(i=0;i<n;i++)
{
temp=data2[i];
j=i-1;
while(data2[j]<temp&&j>=0)
{
data2[j+1]=data2[j];
j--;
}
data2[j+1]=temp;
tampil1();
}
cout<<endl;
}
main()
{
cout<<"\t\t==========================="<<endl;
cout<<"\t\t||PROGRAM
INSERTION SORT||"<<endl;
cout<<"\t\t==========================="<<endl<<endl;
cout<<"=========================================="<<endl;
cout<<"||NAMA =CECEP SURIYADI B ||"<<endl;
cout<<"||NIM =1418150 ||"<<endl;
cout<<"||KELAS =B ||"<<endl;
cout<<"||MAKUL =STRUKTUR KOMPUTER ||"<<endl;
cout<<"=========================================="<<endl<<endl;
input();
cout<<"Tampilan
Ascending"<<endl;
cout<<"==================="<<endl;
insertion_sort_asc();
cout<<"Tampilan
Discending"<<endl;
cout<<"==================="<<endl;
insertion_sort_desc();
}
|
Source code

Tampilan
·
QUICK SORT
|
#include
<iostream>
using
namespace std;
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 Input()
{
cout<<"Masukkan jumlah data =
";
cin>>n;
cout<<"_____________________________________
"<<endl<<endl;
for(int i=0;i<n;i++)
{
cout<<"Masukkan data
ke-"<<(i+1)<<" = ";
cin>>data[i];
data2[i] = data[i];
}
cout<<endl;
}
void
Tampil()
{
for(int i=0;i<n;i++)
{
cout<<data[i]<<"
";
}
cout<<endl;
}
void
Tampil1()
{
for(int i=0;i<n;i++)
{
cout<<data[i]<<"
";
}
cout<<endl;
}
void
QuickSort_Asc(int L, int R)
{
int i, j;
int mid;
i = L;
j = R;
mid = data[(L+R) / 2];
do
{
while (data[i] < mid) i++;
while (data[j] > mid) j--; if (i <= j)
{
tukar(i,j);
i++;
j--;
};
Tampil();
}
while (i < j);
if (L < j) QuickSort_Asc(L, j);
if (i < R) QuickSort_Asc(i, R);
}
void
QuickSort_Desc(int L, int R) //the best sort i've ever had :)
{
int i, j;
int mid;
i = L;
j = R;
mid = data[(L+R) / 2];
do
{
while (data[i] > mid) i++;
while (data[j] < mid) j--;
if (i <= j)
{
tukar(i,j);
i++;
j--;
};
Tampil1();
}
while (i < j);
if (L < j) QuickSort_Desc(L, j);
if (i < R) QuickSort_Desc(i, R);
}
main()
{
cout<<"\t\t==========================="<<endl;
cout<<"\t\t||PROGRAM QUICK
SORT||"<<endl;
cout<<"\t\t==========================="<<endl<<endl;
cout<<"=========================================="<<endl;
cout<<"||NAMA =CECEP SURIYADI B ||"<<endl;
cout<<"||NIM =1418150 ||"<<endl;
cout<<"||KELAS =B ||"<<endl;
cout<<"||MAKUL =STRUKTUR KOMPUTER ||"<<endl;
cout<<"=========================================="<<endl<<endl;
Input();
cout<<"\t**** Proses Quick
Sort ****"<<endl<<endl<<endl;
cout<<"Proses Dengan
Ascending"<<endl;
cout<<"_____________________________________________
"<<endl<<endl;
Tampil();
QuickSort_Asc(0,n-1);
cout<<"_____________________________________________
"<<endl<<endl;
cout<<"Proses Dengan
Descending"<<endl;
cout<<"_____________________________________________
"<<endl<<endl;
QuickSort_Desc(0,n-1);
}
|
Source Code

Tampilan
Paraf Aslab
![]() |

Tidak ada komentar:
Posting Komentar