מימוש (חלק 1)
שיעור 5 מתוך 9 בקורס מיון רדיקס – סדרת DSA של Coddy.
נבנה את מיון Radix מהפעולה הבסיסית שלו כלפי מעלה.
אתגר
בינוניכל מעבר של מיון רדיקס הוא מיון ספירה יציב על ספרה אחת. בואו נבנה את זה קודם.
כתבו פונקציה בשם countingSortByDigit שמקבלת מערך של מספרים שלמים לא שליליים arr וערך מיקום exp (1 עבור ספרת האחדות, 10 עבור ספרת העשרות, 100 עבור ספרת המאות, ...), ומחזירה מערך חדש שממויין לפי הספרה (x / exp) % 10. המיון חייב להיות יציב: איברים עם אותה ספרה שומרים על הסדר המקורי שלהם.
לדוגמה, countingSortByDigit([170, 45, 75, 90, 2, 802, 24, 66], 1) מחזירה [170, 90, 2, 802, 24, 45, 75, 66] (ממויין לפי ספרת האחדות).
נסו בעצמכם
#include <stdlib.h>
int* countingSortByDigit(int* arr, int arr_size, int exp, int* returnSize) {
// כתבו כאן את הקוד
*returnSize = arr_size;
return arr;
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מיון רדיקס – סדרת DSA
תרגלו בעצמכם: קומפיילר C אונליין