#include <iostream>
using namespace std;
int findMax(int arr[], int len) {
int max = arr[0];
for(int i = 0; i < len; i++){
if(arr[i] > max) {
max = arr[i];
}
}
return max;
}
int calBitCount(int max) {
int count = 0;
while (max > 0) {
count++;
max = max / 10;
}
return count;
}
int getBitValue(int value, int bit) {
for(int i = 0; i < bit -1; i++) {
value = value / 10;
}
value = value % 10;
return value;
}
void radixSort(int arr[], int len) {
int max = findMax(arr, len);
int bitCount = calBitCount(max);
int radixCount = 10;
int* count = new int[radixCount]();
int *tempArray = new int[len]();
for(int b = 0; b < bitCount; b++) {
for(int i = 0; i < len; i++) {
int bitValue = getBitValue(arr[i], b);
}
for(int c = 0; c < radixCount; c++) {
}
for(int j = len-1; j >= 0; j--) {
}
}
delete tempArray;
delete count;
}
void printArray(int arr[], int len) {
for (int i = 0; i < len; i++) {
cout << arr[i] <<" ";
}
}
int main() {
int arr[] = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
int len = sizeof(arr) / sizeof(int);
printArray(arr, len);
radixSort(arr, len);
printArray(arr, len);
return 0;
}