Implementation (Part 1)
Coddy'nin Radix Sort - DSA Serisi kursunda ders 5 / 9.
Radix Sort'u temel işleminden başlayarak inşa edeceğiz.
Görev
OrtaRadix Sort'un her geçişi, tek bir basamak üzerinde yapılan kararlı bir sayma sıralamasıdır (stable counting sort). Önce bunu oluşturalım.
Negatif olmayan tam sayılardan oluşan bir arr dizisi ve bir basamak değeri exp (birler için 1, onlar için 10, yüzler için 100, ...) alan ve (x / exp) % 10 basamağına göre sıralanmış yeni bir dizi döndüren countingSortByDigit adında bir fonksiyon yazın. Sıralama kararlı (stable) olmalıdır: aynı basamağa sahip öğeler orijinal sıralarını korumalıdır.
Örneğin, countingSortByDigit([170, 45, 75, 90, 2, 802, 24, 66], 1) çağrısı [170, 90, 2, 802, 24, 45, 75, 66] sonucunu döndürür (birler basamağına göre sıralanmış).
Kendin dene
#include <stdlib.h>
int* countingSortByDigit(int* arr, int arr_size, int exp, int* returnSize) {
// Kodu buraya yazın
*returnSize = arr_size;
return arr;
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Radix Sort - DSA Serisi bölümündeki tüm dersler
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)