C++ Bubble Sort String

5 min read Jul 01, 2024
C++ Bubble Sort String

Memahami Bubble Sort untuk String dalam C++

Bubble Sort adalah algoritma pengurutan sederhana yang bekerja dengan membandingkan elemen berdekatan dalam array dan menukarnya jika tidak dalam urutan yang benar. Dalam konteks ini, kita akan membahas cara menggunakan Bubble Sort untuk mengurutkan string dalam bahasa pemrograman C++.

Cara Kerja Bubble Sort untuk String

Algoritma Bubble Sort untuk string bekerja dengan mengulang setiap karakter dalam string dan membandingkannya dengan karakter berikutnya. Jika karakter saat ini lebih besar dari karakter berikutnya, kedua karakter tersebut ditukar. Proses ini diulang untuk seluruh string hingga tidak ada lagi pertukaran yang terjadi, yang menandakan bahwa string telah diurutkan.

Implementasi Bubble Sort dalam C++

Berikut adalah contoh implementasi Bubble Sort untuk mengurutkan string dalam C++:

#include 
#include 

using namespace std;

void bubbleSortString(string &str) {
  int n = str.length();
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < n - i - 1; j++) {
      if (str[j] > str[j + 1]) {
        swap(str[j], str[j + 1]);
      }
    }
  }
}

int main() {
  string str = "hello";
  cout << "String sebelum diurutkan: " << str << endl;
  bubbleSortString(str);
  cout << "String setelah diurutkan: " << str << endl;
  return 0;
}

Penjelasan Kode:

  1. #include <iostream>: Menyertakan pustaka input/output standar C++.
  2. #include <string>: Menyertakan pustaka string standar C++.
  3. using namespace std;: Memudahkan penggunaan nama-nama elemen dalam namespace std.
  4. void bubbleSortString(string &str): Deklarasi fungsi bubbleSortString yang menerima referensi string str sebagai parameter.
  5. int n = str.length();: Menentukan panjang string str dan menyimpannya dalam variabel n.
  6. for (int i = 0; i < n - 1; i++) {}: Loop luar yang berulang dari indeks 0 hingga n - 1.
  7. for (int j = 0; j < n - i - 1; j++) {}: Loop dalam yang berulang dari indeks 0 hingga n - i - 1.
  8. if (str[j] > str[j + 1]) {}: Membandingkan karakter pada indeks j dengan karakter pada indeks j + 1. Jika karakter pada indeks j lebih besar, maka kedua karakter ditukar.
  9. swap(str[j], str[j + 1]);: Fungsi swap digunakan untuk menukar karakter pada indeks j dan j + 1.
  10. int main() {}: Fungsi utama program.
  11. string str = "hello";: Mendefinisikan string str dengan nilai "hello".
  12. cout << "String sebelum diurutkan: " << str << endl;: Menampilkan string str sebelum diurutkan.
  13. bubbleSortString(str);: Memanggil fungsi bubbleSortString untuk mengurutkan string str.
  14. cout << "String setelah diurutkan: " << str << endl;: Menampilkan string str setelah diurutkan.

Kelebihan dan Kekurangan Bubble Sort

Kelebihan:

  • Algoritma yang mudah dipahami dan diimplementasikan.
  • Relatif efisien untuk array yang kecil.

Kekurangan:

  • Kompleksitas waktu yang buruk untuk data yang besar (O(n²)).
  • Tidak efisien untuk array yang sudah terurut sebagian.

Kesimpulan

Bubble Sort adalah algoritma pengurutan yang sederhana dan mudah dipahami, tetapi tidak efisien untuk data yang besar. Untuk array yang lebih besar, algoritma pengurutan lain seperti Merge Sort atau Quick Sort akan lebih cocok digunakan.

Latest Posts