Algoritma Bubble Sort
#include <iostream>
#include <math.h>
//kamus
using namespace std;
int isi_batas();
int input_array(int array[], int batas);
int bubble_sort(int array[], int batas);
int cetak(int array[], int batas);
int array[100];
int x;
//deskripsi
int main()
{
isi_batas();
input_array(array, x);
bubble_sort(array,x);
cetak(array, x);
return 0;
}
int isi_batas()
{
cout << "Masukkan array : ";
cin >> x;
return 0;
}
int input_array(int array[], int batas)
{
int a;
a = 0;
while(a < batas)
{
cout << "Masukkan nilai ke-" << a << " = ";
cin >> array[a];
a = a + 1;
}
return 0;
}
int bubble_sort(int array[], int batas)
{
int y;
int z;
int wadah;
y = 0;
while(y < batas - 1)
{
z = y + 1;
while(z < batas)
{
if(array[y] > array[z])
{
wadah = array[y];
array[y] = array[z];
array[z] = wadah;
}
z = z + 1;
}
y = y + 1;
}
return 0;
}
int cetak(int array[], int batas)
{
int b;
b = 0;
cout << "Hasil sorting : ";
while(b < batas)
{
cout << array[b] << " ";
b++;
}
return 0;
}
Penjelasan :
Algoritma Bubble sort menggunakan cara membandingkan antara value index pertama dengan index kedua, jika index kedua lebih kecil dengan index pertama maka akan terjadi pertukaran posisi antara kedua index tersebut.
Kemudian lanjut membandingan antara index pertama dengan index ketiga, jika index ketiga lebih besar daripada index pertama maka akan langsung ke index berikutnya.
Begitu seterusnya hingga mencapai index ke n dan semua data menjadi urut.
Menurut saya algoritma ini sangat tidak efektif karena pembandingan antar value terjadi berulang kali sehingga akan memakan memory dan waktu yang banyak jika menghadapi suatu kasus yang memiliki data yang sangat banyak
Komentar
Posting Komentar