【排序】基数排序C语言实现-创新互联
                                            这里参考《数据结构与算法分析》,p41页

void RadixSort(int *a, int length)
{
    int i, max = a[0], base = 1;; 
    for (i = 1; i< length; i++)
    {   
        if (a[i] >max)
        {   
            max = a[i];
        }   
    }   
    int *t = (int *)malloc(sizeof(int) * length);
    while (max / base >0)
    {   
        int bucket[10] = {0};
        for (i = 0; i< length; i++)
        {   
            bucket[a[i] / base % 10]++;
        }   
        for (i = 1; i< 10; i++)
        {   
            bucket[i] += bucket[i - 1]; 
        }   
        for (i = length - 1; i >= 0; i--)
        {   
            t[bucket[a[i] / base % 10] - 1] = a[i];
            bucket[a[i] / base % 10]--;
        }
        for (i = 0; i< length; i++)
        {   
            a[i] = t[i];
        }
        base = base * 10;
    }
}你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻标题:【排序】基数排序C语言实现-创新互联
本文网址:http://www.cqwzjz.cn/article/dshcdp.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 