Selection Sort Algorithm


Hai teman,di sini saya akan sharing sedikit tentang materi pemrograman c++ yaitu materi tentang Selection sort,Selection sort adalah pengurutan data yang akan menukar  nilai yang terkecil atau terbesar ke posisi ujung dari data nilai yang akan diurutkan. Demikian seterusnya hingga semua daftar dalam keadaan terurut. Proses dasar yang terjadi dalam algoritma ini adalah proses pertukaran nilai (swapping). 

Selection Sort terbagi atas dua macam yaitu:
  • Selection Sort Ascending adalah pengurutan data dari yang kecil ke yang besar
  • Selection Sort Descending adalah pengurutan data dari yang besar ke yang kecil
oke teman semuanya,untuk lebih jelasnya saya akan memberika contoh dari Selection Sort Ascending dan Selection Sort Descending.
SELECTION SORT ASCENDING
#include <iostream.h>
#include <conio.h>
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 selection_sort(){
     int pos,i,j;
     for(int i=1;i<=n-1;i++)
     {
                        pos=i;
                        for(j=i+1;j<=n;j++)
                        {
                        if(data[j]<data[pos])pos=j;
                        }
     if(pos!=i)tukar(pos,i);
     }
}
int main(){
    cout<<"PROGRAM SELECTION SORT ASCENDING"<<endl;
    cout<<"Masukkan Jumlah Data Anda : ";
    cin>>n;
    for(int i=1;i<=n;i++)
    {
            cout<<"Masukkan data ke "<<i<<":";
            cin>>data[i];
            data2[i]=data[i];
    }
selection_sort();
cout<<"\n\n";
//tampillkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n;i++)
{
        cout<<" "<<data[i];
        }
cout<<"\n\nSorting Selesai";
    getch();       
    return 0;
}
SELECTION SORT DESCENDING
#include <iostream.h>
#include <conio.h>
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 selection_sort(){
     int pos,i,j;
     for(int i=1;i<=n-1;i++)
     {
                        pos=i;
                        for(j=i+1;j<=n;j++)
                        {
                        if(data[j]>data[pos])pos=j;
                        }
     if(pos!=i)tukar(pos,i);
     }
}
int main(){
    cout<<"PROGRAM SELECTION SORT DESCENDING"<<endl;
    cout<<"Masukkan Jumlah Data Anda : ";
    cin>>n;
    for(int i=1;i<=n;i++)
    {
            cout<<"Masukkan data ke "<<i<<":";
            cin>>data[i];
            data2[i]=data[i];
    }
selection_sort();
cout<<"\n\n";
//tampillkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n;i++)
{
        cout<<" "<<data[i];
        }
cout<<"\n\nSorting Selesai";
    getch();       
    return 0;
}
Author image
About the Author :

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum.

Connect with him on :