Ada banyak sekali algoritma pengurutan data. Bubble sort adalah algoritma pengurutan data paling mudah. Meski demikian bukan berarti Bubble Sort ini adalah metode pengurutan paling efektif. Sebab cenderung membutuhkan banyak sekali perulangan.
Dalam Algoritma Pengurutan Data menggunakan Bubble Sort, dua buah data dibandingkan. Jika data awal lebih besar, maka kedua data tersebut dibalik.
Untuk lebih jelasnya lihat gambar berikut,
Implementasi dalam Bahasa C
#include <stdio.h>
#include <stdlib.h>
#define MAX_DATA 10
int main() {
int i;
int item[MAX_DATA];
int temp;
int buff;
int nochange;
int counter = 0;
for (i=0; i<MAX_DATA; i++) {
printf("Masukkan item ke-%d: ", i+1);
scanf("%d", &temp);
getchar();
item[i] = temp;
}
do {
nochange = 0;
for (i=0; i<MAX_DATA-1; i++) {
buff = item[i];
if (buff > item[i+1]) {
item[i] = item[i+1];
item[i+1] = buff;
nochange = 1;
}
counter++;
}
} while (nochange == 1);
printf("Data setelah diurutkan:\n");
for (i=0; i<MAX_DATA; i++) {
printf("%d\n", item[i]);
}
printf("Membutuhkan %d iterasi\n", counter);
return 0;
}
Dalam Algoritma Pengurutan Data menggunakan Bubble Sort, dua buah data dibandingkan. Jika data awal lebih besar, maka kedua data tersebut dibalik.
Untuk lebih jelasnya lihat gambar berikut,
Implementasi dalam Bahasa C
#include <stdio.h>
#include <stdlib.h>
#define MAX_DATA 10
int main() {
int i;
int item[MAX_DATA];
int temp;
int buff;
int nochange;
int counter = 0;
for (i=0; i<MAX_DATA; i++) {
printf("Masukkan item ke-%d: ", i+1);
scanf("%d", &temp);
getchar();
item[i] = temp;
}
do {
nochange = 0;
for (i=0; i<MAX_DATA-1; i++) {
buff = item[i];
if (buff > item[i+1]) {
item[i] = item[i+1];
item[i+1] = buff;
nochange = 1;
}
counter++;
}
} while (nochange == 1);
printf("Data setelah diurutkan:\n");
for (i=0; i<MAX_DATA; i++) {
printf("%d\n", item[i]);
}
printf("Membutuhkan %d iterasi\n", counter);
return 0;
}
No comments:
Post a Comment