SORTING

Sorting adalah  metode pengurutan datayang terdapat pada struktur data. metode sorting ini mengurutkan data dengan membanding kan satu data dengan data yang lain sesuai data yang di inputkan.
metode sorting ini memiliki beberapa metode yaitu antara lain :

  • Bubble sort
  • Insertion sort
  • Selection sort
  • Quick sort
  • Marge Sort
  • Etc
Mari sekarang saya akan membahas tentang Insertion sort dan Selection Sort saja.

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