C++实现基数排序
发布日期:2021-07-01 04:09:01
浏览次数:2
分类:技术文章
本文共 997 字,大约阅读时间需要 3 分钟。
#includeusing namespace std;int output_index[] = { 0,0,0,0,0,0,0,0,0,0 };void init_output_index() { for (int i = 0; i < 10; i++) { output_index[i] = 0; }}int** map(int input[], int num,int _) { int** output = new int*[10]; for (int i = 0; i < 10; i++) { output[i] = new int[num]; } init_output_index(); for (int i = 0; i < num; i++) { int tmp = input[i]%_*10/_; output[tmp][output_index[tmp]] = input[i]; output_index[tmp]++; } return output;}int* reduce(int** input, int num) { int* output = new int[num]; int index = 0; for (int i = 0; i < 10; i++) { for (int j = 0; j max) { max = input[i]; } } while (max/_ > 0) { _ *= 10; } return _;}int main() { int num; cin >> num; int* input=new int[num]; for (int i = 0; i < num; i++) { cin >> input[i]; } int max_=arr_max_(input, num); for (int _ = 10; _ <= max_; _ *= 10) { input = reduce(map(input, num, _), num); for (int i = 0; i < num; i++) { cout << input[i] << " "; } cout << endl; } system("pause"); return 0;}
转载地址:https://mortal.blog.csdn.net/article/details/83279586 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月28日 09时16分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
私钥加密私钥解密
2019-05-01
锁的释放流程-ReentrantLock.unlock
2019-05-01
Java判断字符串是否为数字(浮点类型也包括)
2019-05-01
Err:11 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 No
2019-05-01
ubuntu opencv-python 安装很慢问题
2019-05-01
MySQL5.7版本修改了my.ini配置文件后mysql服务无法启动问题
2019-05-01
【大数据开发】Java基础 -总结21-Hashmap和HashTable的区别
2019-05-01
Azkaban体系结构
2019-05-01
机器学习之重头戏-特征预处理
2019-05-01
synchronized底层实现及锁的升级、降级
2019-05-01
PermGen space-永久区内存溢出
2019-05-01
Maven继承和聚合
2019-05-01
Apache Kafka:优化部署的 10 种最佳实践
2019-05-01
Leetcode 35. 搜索插入位置 c#
2019-05-01
[9] JMeter-常用函数的使用
2019-05-01
[12] JMeter-结果分析之图形图表
2019-05-01