metode sorting ini memiliki beberapa metode yaitu antara lain :
- Bubble sort
- Insertion sort
- Selection sort
- Quick sort
- Marge Sort
- Etc
1. Insertion sort
insertion sort dapat di artikan seperti sedang bermain kartu. seperti pemain kartu yang selalu menyelipkan kartu lebih kecil dari kartu yang lain. insertion sort akan membandingkan dengan data yang terdapat di sebalah nya.
contoh program :
#include <iostream>
#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;
}
}
int main()
{
cout<<"\t\t\t===PROGRAM INSERTION SORT===\n\n"<<endl;
//Input Data
cout<<"Masukkan banyak Data : ";
cin>>n;
cout<<"\n";
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting Selesai";
cout<<endl;
cout<<"terima kasih";
getch();
}
2. Selection sort
Metode selection sort adalah membandingkan indeks paling awal hingga paling akhir jika ada nilai yang lebih kecil dari nilai indeks pertama maka data akan di tukar. jika indeks awal nilai nya sudah paling kecil maka setelah itu indeks kedua akan membandingkan dengan indeks ke tiga hingga indeks terakhir jika ada nilai yg kecil di dalam indeks lain makan indeks ke dua itu akan di tukar, proses selanjutnya akan terus seperti it sampai data terurutkan.
contoh program :
#include <iostream>
#include <conio.h>
int main()
{
int i, j, max, temp;
int data[10];
cout<<"===========Selection sort==============";
cout<<endl;
cout<<"\nMasukkan banyak data = ";
cin>>max;
for(i=1;i<=max;i++)
{
cout<<"Masukkan data ke-"<<i<<" : ";
cin>>data[i];
}
for(i=1;i<max;i++)
{
for(j=i+1;j<=max;j++)
{
if(data[i]>data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
cout<<"\nSetelah di urutkan : ";
for(i=1;i<=max;i++)
{
cout<<data[i]<<" ";
}
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar