Jumat, 21 Februari 2014

Selection Sort

Selection Sort

selection sort adalah metode pengurutan dengan cara memindahkan elemen dengan cara membandingkan elemen sekarang dengan elemen yang berikutnya sampai dengan elemen terakhir . Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar dan begitu seterusnya.
Dari proses pengurutannya, Selection sort ini memiliki dua buah varian yaitu :
1. Maximum Sort

memilih data yang maksimum dari suatu kumpulan data larik, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data maksimum berikutnya.

2. Minimum Sort

memilih data yang minimum dari suatu kumpulan data larik , lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data minimum berikutnya.

--------------------------------contoh program selection sort ----------------------------------


# include stdio.h
# include conio.h
const int maks = 1000;
typedef int array [maks+1];
void masukan(array simpan, int n);
void SelectionSort(array &simpan, int n);
void sebelum(array simpan, int n);
void sesudah(array simpan, int n);
int main()
{
    int n;
    array simpan;
    printf("masukkan jumlah data yang diinginkan : ");
    scanf("%d", &n);
    masukan(simpan, n);
    sebelum(simpan, n);
    SelectionSort(simpan, n);
    sesudah(simpan, n);
}

void masukan(array simpan, int n)
{
    int c;
    for(c=1; c<=n; c++)
    {
        printf("Data ke %d = ", c);
        scanf("%d", &simpan[c]);
    }
}

void SelectionSort(array &simpan, int n)
{
    int i, k, Help, mini;
    for (i=1; i <= n-1; i++)
    {
        mini = i;
        for (k=i+1; k<=n; k++)
        {
            if (simpan[k] < simpan[mini])
            {
                Help = simpan[mini];
                simpan[mini] = simpan[k];
                simpan[k] = Help;
            }

        }
    }
}

void sebelum(array simpan, int n)
{
    int c;
    printf("\n\nData sebelum di urutkan : \n");
    for (c=1; c<=n; c++)
    {
        printf("[%d]", simpan[c]);
    }
}

void sesudah(array simpan, int n)
{
    int c;
    printf("\n\nData setelah di urutkan : \n");
    for(c=1; c<=n; c++)
    {
        printf("[%d]",simpan[c]);
    }
}


oke sekian dulu untuk kali ini ya... karena fans saya yg lain (tugas) sudah menanti... hehhe :D

Tidak ada komentar: