Implementasi (Bagian 1)
Pelajaran 5 dari 9 dalam kursus Radix Sort, Seri DSA di Coddy.
Kita akan membangun Radix Sort mulai dari operasi intinya.
Tantangan
SedangSetiap lintasan Radix Sort adalah counting sort yang stabil pada satu digit. Mari kita buat fungsi itu terlebih dahulu.
Tulis fungsi bernama countingSortByDigit yang menerima array bilangan bulat nonnegatif arr dan nilai tempat exp (1 untuk satuan, 10 untuk puluhan, 100 untuk ratusan, ...), lalu mengembalikan array baru yang diurutkan berdasarkan digit (x / exp) % 10. Pengurutan harus stabil: elemen dengan digit yang sama mempertahankan urutan aslinya.
Contohnya, countingSortByDigit([170, 45, 75, 90, 2, 802, 24, 66], 1) mengembalikan [170, 90, 2, 802, 24, 45, 75, 66] (diurutkan berdasarkan digit satuan).
Coba sendiri
#include <stdlib.h>
int* countingSortByDigit(int* arr, int arr_size, int exp, int* returnSize) {
// Tulis kodemu di sini
*returnSize = arr_size;
return arr;
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Radix Sort, Seri DSA
2Algoritma
Cara Kerjanya?PseudocodeImplementasi (Bagian 1)Implementasi (Bagian 2)Latihan sendiri: Compiler C online