Sunday, November 29, 2015

Bubble Sort

Bubble Sort adalah salah satu teknik mengurutkan data.

Kelebihan: Algoritmanya paling sederhana
Kekurangan: Proses pengurutannya lambat

Kompleksitas: O(n^2)

Animasi visualnya dapat dilihat di visualgo.net/sorting.html
Penjelasan lebih lanjut dapat dilihat di en.wikipedia.org/wiki/Bubble_sort

Berikut code dan implementasinya dalam bahasa pemrograman C.

#include <stdio.h>

int main()
{   // Input jumlah test case
    int N; scanf("%d", &N);

    // Input Data
    int arr[N], i;
    for(i = 0;i < N;i++)
        scanf("%d", &arr[i]);
   
    // Bubble Sort
    int j, tmp, fl;

    for(i = 0;i < N;i++)
    {
        fl = 1;
        for(j = N-1;j >= i;j--)
            if(arr[j - 1] > arr[j])
            {
                tmp = arr[j];
                arr[j] = arr[j - 1];
                arr[j - 1] = tmp;
                fl = 0;
            }
       
        if(fl == 1) break;
    }

    // Output
    printf("%d", arr[0]);
    for(i = 1;i < N;i++)
        printf(" %d", arr[i]);
}

Contoh test case:
7
7 5 3 1 6 4 2

Contoh output:
1 2 3 4 5 6 7

No comments:

Post a Comment