Algoritma Bubble Sort Pada C++/Cpp | C++ Tutorial
Bubble Sort adalah algoritme pengurutan paling sederhana yang bekerja dengan menukar elemen yang berdekatan secara berulang jika urutannya salah.
Contoh:
Pass Pertama:
(5 1 4 2 8) -> (1 5 4 2 8), Di sini, algoritma membandingkan dua elemen pertama, dan bertukar karena 5> 1.
(1 5 4 2 8) -> (1 4 5 2 8), Tukar karena 5 > 4
(1 4 5 2 8) -> (1 4 2 5 8), Tukar karena 5 > 2
(1 4 2 5 8) -> (1 4 2 5 8), Sekarang, karena elemen-elemen ini sudah berurutan (8> 5), algoritma tidak menukar mereka.
Pass Kedua:
(1 4 2 5 8) -> (1 4 2 5 8)
(1 4 2 5 8) -> (1 2 4 5 8), Tukar karena 4 > 2
(1 2 4 5 8) -> (1 2 4 5 8)
(1 2 4 5 8) -> (1 2 4 5 8)
Sekarang, array sudah diurutkan, tetapi algoritme kami tidak tahu apakah sudah selesai. Algoritme memerlukan satu pass tanpa swap untuk mengetahuinya.
Pass Ketiga:
(1 2 4 5 8) -> (1 2 4 5 8)
(1 2 4 5 8) -> (1 2 4 5 8)
(1 2 4 5 8) -> (1 2 4 5 8)
(1 2 4 5 8) -> (1 2 4 5 8)
Algoritma Bubble Sort Pada C++:
#include <iostream>
using namespace std;
int main()
{
int size, min = 0;
// input ukuran
cout << "Masukkan ukuran array: ";
cin >> size;
int *number = new int[size];
// input array
for (int i = 0; i < size; i++)
{
cout << "Input angka " << i + 1 << " : ";
cin >> number[i];
}
// menampilkan isi array sebelum diurutkan
cout << "Sebelum urut: ";
for (int i = 0; i < size; i++)
{
cout << number[i] << ' ';
}
// bubble sorting
for (int i = 1; i < size; i++)
{
for (int j = size-1; j >= i; j--)
{
if (number[j] > number[j - 1])
{
min = number[j];
number[j] = number[j - 1];
number[j - 1] = min;
}
}
}
// menampilkan isi array setelah diurutkan
cout << "\n\nSetelah urut: ";
for (int i = 0; i < size; i++)
{
cout << number[i] << ' ';
}
delete[] number;
system("pause");
return 0;
}
Comments
Post a Comment