编辑代码

#include <stdio.h>

int findMax(int arr[], int len) {
	
}
//输入50,返回2
//输入100,返回3 
int calBitCount(int max) {
	
}
// 输入(50,0),返回0
// 输入(50,1),返回5 
int getBitValue (int value, int bit) {
	
}


void radixSort(int arr[], int len) {
	
	//1. 找出最大值,计算出需要排序的位 
	int max = findMax(arr, len);
	int bitCount = calBitCount(max);
	
	
	//2. 创建排序数组
	int radixCount = 10;
	int count[radixCount]={};
	int tempArray[len]={};
	
	//3. 对每一位进行排序 
	for (int b = 0; b < bitCount; ++b) {
		//3.1 清空排序数组,把每个值赋予0 
		
		//3.2 统计计数数组下标对应元素个数
		for (int i = 0; i < len; ++i) {
			int bitValue = getBitValue(arr[i], b)
		} 
		
		//3.3 累计算出小于等于计数数组下标对应元素的个数 
		for (int c = 0; c < radixCount; ++c) {
		}
		
		//3.4 利用累加值和临时数组对对应的位进行排序
		for (int i = len - 1; i >=0; --i) {
			
		} 
		
		// 3.5 临时数组数据拷贝回原数组 
	} 
}

void printArray(int arr[], int len) {
}

int main(){
	int arr[] = {};
	int len = sizeof(arr)/sizeof(int);
	
	printArray(arr,len);
	radixSort(arr, len);
	printArray(arr,len);
}




 void printArray(int arr[],int len){
    for(int i=0;i<len;++i){
        printf("%d  ",arr[i]);
    }
 }



int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
    printf("Hello world!     - c.jsrun.net.");
    return 0;
}