Radix Sort - Algoritma Pengurutan Bahasa C++

Omahinformatika - Belajar C++, Pada postingan ini saya akan melanjutkan Algoritma pengurutan menggunakan Algortima Pengurutan radix sort. Disini saya akan bahas kupas tentang mengenai algoritma radix sort tersebut.
Radix Sort - Algoritma Pengurutan Bahasa C++

Pengertian Algoritma Pengurutan - Radix Sort

Algoritma Pengurutan - Radix sort merupakan metode pengurutan dimana angka akan dipcahkan menjadi satuan, puluhan, dan ratusan, bahkan ribuan.
Saya akan menjelaskan algoritma tersebut. Bisa saya ambil contoh angka angka yang perlu diurutkan.

345, 890, 876, 29, 18, 190, 789, 100, 562, 962.

  • Tahap 1.
Mengurutkan melalui angka satuan. lihat di bawah ini:

345, 890, 876, 29, 18, 190, 789, 100, 562, 962.

0 >> 890, 190, 100
1 >> --
2 >> 562, 962
3 >> --
4 >> --
5 >> 345
6 >> 876
7 >> --
8 >> 18
9 >> 29, 789

Setelah diurutkan melalu kalisifkasi satuan terkecil ke terbesar, akan meghasilkan seperti ini :

890, 190, 100, 562, 962, 345, 876, 18, 29, 789

  • Tahap 2
Mengurutkan melalui angka puluhan. lihat di bawah ini:
Angka urutan setelah tahap pertama:

890, 190, 100, 562, 962, 345, 876, 18, 29, 789

0 >> 100
1 >> 18
2 >> 29
3 >> --
4 >> 345
5 >> --
6 >> 562, 962
7 >> 876
8 >> 789
9 >> 890, 190

Setelah diurutkan melalu kalisifikasi puluhan terkecil ke besar, akan meghasilkan seperti ini :

100, 18, 29, 345, 562, 962, 876, 789, 890, 190


  • Tahap 3
Mengurutkan melalui angka klasifikasi ratusan terkecil ke terbesar . lihat di bawah ini:
Angka urutan setelah tahap pertama:

100, 018, 029, 345, 562, 962, 876, 789, 890, 190

0 >> 18, 29
1 >> 100, 190
2 >> --
3 >> 345
4 >> --
5 >> 562
6 >> --
7 >> 789
8 >> 876, 890
9 >> 962

Setelah diurutkan melalu kalisifikasi Ratusan terkecil ke besar, akan meghasilkan seperti ini :

18, 29, 100, 190, 345, 562, 789, 876, 890, 962

Itulah Algoritma Yang digunakan dalam pengurutan jika menggunakan Radix Sort. Sebelum selesai, saya akan memberikan sources code yang bisa kalian pahami.

Sources Code Algotima Pengurutan - Radix Sort

#include <bits/stdc++.h>
using namespace std;

void countSort(int nilai[], int inputan, int k){
int output[inputan];
    int i, NILAI[inputan] = {0};
    
    for (i = 0; i < inputan; i++){
        NILAI[ (nilai[i]/k)%10 ]++;
}
for (i = 1; i < 10; i++){
        NILAI[i] += NILAI[i - 1];
  }
      for (i = inputan - 1; i >= 0; i--){
        output[NILAI[ (nilai[i]/k)%10 ] - 1] = nilai[i];
        NILAI[ (nilai[i]/k)%10 ]--;
    }
    for (i = 0; i < inputan; i++){
        nilai[i] = output[i];
    }
}
void radixSort(int nilai[], int inputan){
int z = nilai[0];
    for (int i = 1; i < inputan; i++){
        if (z < nilai[i]){
            z = nilai[i];
}
}
int m = z;
    for (int k = 1; m/k > 0; k*=10){
countSort(nilai, inputan, k);
}
}
void print(int nilai[], int inputan){
for (int i = 0; i < inputan; i++){
        cout << nilai[i] << " ";
}
}
int main()
{
int inputan;
    cout << "Berapa inputan yang diingingkan : ";
    cin >> inputan;
    int nilai[inputan];
    for (int l = 0; l < inputan; l++){
cout << "Input Nilai " << l + 1 << " : ";    
cin >> nilai[l];
}
cout << endl;
cout <<"Data nilai yang belum diurutkan" << endl;
for (int l = 0; l < inputan; l++){
cout << nilai[l] << " ";
}
cout << endl;
cout << endl;
cout << "Data nilai yang telah diurutkan : "<<endl;
radixSort (nilai, inputan);
print (nilai, inputan);
    return 0;
}

Hasil Compile Algotima Pengurutan - Radix Sort

Radix Sort - Algoritma Pengurutan Bahasa C++

Algotima Pengurutan - Radix Sort

Demikian Penjelasan mengeani Algotima Pengurutan - Radix Sort di belajar C++, semoga di artikel ini dapat bermanfaat untuk kalian semua. Sekian dan Terimakasih, jika terdapat perntanyaan atau saran bisa tulis di kolom komentar.

Subscribe to receive free email updates:

0 Response to "Radix Sort - Algoritma Pengurutan Bahasa C++"

Post a Comment