Bubble Sort adalah
metode pengurutan yang membandingkan elemen yang sekarang dengan elemen-elemen
berikutnya. Pembandingan elemen dapat dimulai dari awal atau mulai dari paling
akhir. Apabila elemen yang sekarang lebih besar atau lebih kecil dari elemen
berikutnya, maka posisinya di tukar, tetapi jika tidak maka posisinya tetap.
Contoh: Misalkan kita mempunyai arra Nilai sebanyak
8 elemen akan diurutkan secara menaik dengan
metode Bubble sort: 25,72,30,45,20,15,6,50. Urutan langkah pengurutannya yang
dimulai dari belakang seperti berikut.
Langkah -1:
25
|
72
|
30
|
45
|
20
|
15
|
6
|
50
|
25
|
72
|
30
|
45
|
20
|
6
|
15
|
50
|
25
|
72
|
30
|
45
|
6
|
20
|
15
|
50
|
25
|
72
|
30
|
6
|
45
|
20
|
15
|
50
|
25
|
72
|
6
|
30
|
45
|
20
|
15
|
50
|
25
|
6
|
72
|
30
|
45
|
20
|
15
|
50
|
6
|
25
|
72
|
30
|
45
|
20
|
15
|
50
|
Langkah -2:
6
|
25
|
72
|
30
|
45
|
20
|
15
|
50
|
6
|
25
|
72
|
30
|
45
|
15
|
20
|
50
|
6
|
25
|
72
|
30
|
15
|
45
|
20
|
50
|
6
|
25
|
72
|
15
|
30
|
45
|
20
|
50
|
6
|
25
|
72
|
72
|
30
|
45
|
20
|
50
|
6
|
25
|
15
|
72
|
30
|
45
|
20
|
50
|
Langkah -3:
6
|
15
|
25
|
72
|
30
|
45
|
20
|
50
|
6
|
15
|
25
|
72
|
30
|
20
|
45
|
50
|
6
|
15
|
25
|
72
|
20
|
30
|
45
|
50
|
6
|
15
|
25
|
20
|
72
|
30
|
45
|
50
|
6
|
15
|
20
|
25
|
72
|
30
|
45
|
50
|
Langkah -4:
6
|
15
|
20
|
25
|
72
|
30
|
45
|
50
|
6
|
15
|
20
|
25
|
72
|
30
|
45
|
50
|
6
|
15
|
20
|
25
|
30
|
72
|
45
|
50
|
Langkah -5:
6
|
15
|
20
|
25
|
30
|
72
|
45
|
50
|
6
|
15
|
20
|
25
|
30
|
45
|
72
|
50
|
Langkah -6:
6
|
15
|
20
|
25
|
30
|
45
|
50
|
72
|
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//Mendeklarasikan array dengan 7 buah elemen
//yang bertipe integer
int A[7];
//Mendeklarasikan variabel-variabel bantu
//yang di perlukan
int j,k,c,temp;
//Memasukan Nilai array
cout<<"Masukan Nilai Kedalam Array"<<endl;
cout<<"==========================="<<endl;
for(j=0;j<7;j++)
{
cout<<"A["<<j<<"] :";
cin>>A[j];
}
//Menampilkan nilai array sebelum di urutkan
cout<<"Nilai Array Sebelum Di Urutkan"<<endl;
cout<<"=============================="<<endl;
for(j=0;j<7;j++)
{
cout<<"A["<<j<<"]: "<<A[j]<<endl;
}
cout<<endl<<endl;
//Menampilkan array setelah di urutkan
//Dengan Metode gelembung
for(j=0;j<6;j++)
{
for(k=7; k>0; k--)
{
if(A[k]<A[k-1])
{
temp = A[k];
A[k] = A[k-1];
A[k-1] = temp;
}
}
}
//menampilkan nilai setelah di urutkan
cout<<"Nilai Array Setelah Di Urutkan"<<endl;
cout<<"=============================="<<endl;
for(c=0;c<7;c++)
{
cout<<"A["<<c<<"] = "<<A[c]<<endl;
}
return 0;
}
Jika dijalankan maka akan tampil seperti berikut:
Sumber 1 : Buku konsep dan Implementasi Struktur Data Dengan C++
Oleh : Lamhot Sitorus & David J.M. Sembiring
Penerbit : Andi
Sumber 2 : Buku Pemrograman C++ edisi Revisi
Oleh : Budi Raharjo
Penerbit : Informatika
0 komentar:
Posting Komentar