#include <iostream>

using namespace std;

int maxbit(int *a,int n)
{
int d=;//一位
int p=;//十进制
for(int i=;i<n;i++)
{
while(a[i]>=p)
{
p*=;
++d;
}
}
return d;
} void Radixsort(int *a,int n)
{
int radix=;
int k;
int d=maxbit(a,n);
int *tmp=new int[n];//桶
int *count=new int[];//计数器
for(int i=;i<=d;i++)
{
for(int j=;j<;j++)
{
count[j]=;//计数器每次都清零
}
for(int j=;j<n;j++)
{
k=(a[j]/radix)%;//取余后的数字为尾数
count[k]++;
}
for(int j=;j<;j++)
{
count[j]=count[j-]+count[j];//将tmp位置依次分给每个桶
}
for(int j=n-;j>=;j--)//将桶中的数据收集到tmp
{
k=(a[j]/radix)%;
tmp[count[k]-]=a[j];
count[k]--;
}
for(int j=;j<n;j++)
{
a[j]=tmp[j];
}
radix=radix*;
}
delete[]tmp;
delete[]count;
} int main()
{
int n=;
int a[];
cout<<"Inpu Num"<<endl;
for(int i=;i<n;i++)
{
cin>>a[i];
}
Radixsort(a,n);
for(int j=;j<n;j++)
{
cout<<a[j]<<" ";
}
return ;
}

面试复习(C++)之基数排序的更多相关文章

  1. linux常用命令大全(linux基础命令入门到精通+命令备忘录+面试复习+实例)

    作者:蓝藻(罗蓝国度) 创建时间:2018.7.3 编辑时间:2019.4.29 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为ce ...

  2. linux常用命令大全(linux基础命令+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令+命令备忘录+面试复习)-----https://www.cnblogs.com/caozy/p/9261224.html

  3. Java秋招面试复习大纲(二):Spring全家桶+MyBatis+MongDB+微服务

    前言 对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容. 这里说「天方夜谭」 ...

  4. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  5. [Java面试一]面试复习大纲.

    一.Java基础部分 (搞定所有技术之后才考虑复习的技术点) 1.数组中的排序问题(笔试或者机试,前者可能性更大) 2.面向对象的理解 3.集合相关的问题,比如hashmap跟hashtable的区别 ...

  6. Web前端年后跳槽面试复习指南

    <pliga' 1,="" 'onum'="" 'kern'="" 1;="" margin:="&qu ...

  7. 【干货满满】1.5w字初中级前端面试复习总结

    前言 金九银十,又是一波跑路.趁着有空把前端基础和面试相关的知识点都系统的学习一遍,参考一些权威的书籍和优秀的文章,最后加上自己的一些理解,总结出来这篇文章.适合复习和准备面试的同学,其中的知识点包括 ...

  8. Java基础(面试复习整理)

    基础知识和语法 Java语言初识 计算机语言发展 机器语言.汇编.C.C++.Java Java的诞生与发展 1995 JavaSE JavaME Android JavaEE 2006(大数据) H ...

  9. 从零开始的计算机网络基础(图文并茂,1.8w字,面试复习必备)

    前言 在互联网高速发展的今天,我们通过手机,电脑等通讯设备可以很轻松达到未出茅庐便知天下事的境界.每天我们都要访问数不胜数的网站,通过打开浏览器,输入网址两步搞定.当然更为常规的做法是打开浏览器,设置 ...

随机推荐

  1. gulp 安装笔记

    1.全局安装cnpm(淘宝的npm国内镜像),gulp,rimraf(卸载用插件)npm install -g cnpm --registry=https://registry.npm.taobao. ...

  2. Generate Time Data(财务日期主数据)

        1. Generate the master data from the specific time frame that you are interested in根据你输入的时间段来产生主 ...

  3. apache 局域网访问

    很多的朋友都想把自己的电脑打造为服务器使别人能够访问.比如说你自己写了一网站,只能自己通过localhost访问或127.0.0.1访问.但是怎么让别人的电脑也能访问呢?来看看自己写的网站.现在我来讲 ...

  4. redis_1(windows下的配置使用)

    redis安装包:https://github.com/zhangsai521314/redis 1.将本文件夹放到C盘的根目录下. 2.使用控件台的方式运行redis-server.exe 启动命令 ...

  5. 【开园 and 计划】

    开园 啊啊啊啊啊啊啊啊,郁闷啊,头一回写博客,一刻钟前保存的草稿为何荡然无存??? 那少废话直击要点:今日乃我开园之日,开园为了改变.为了学习.为了积累. 计划 最长为时 3月,截止到 2016年9月 ...

  6. iOS自动化编译方案

    本文主要来源以下Bryce Zhang博主的文章,感谢博主的无私分享,转载请注明出处,尊重原创 然,根据Bryce Zhang文章进行实践过程中遇到一些问题,解决后在此做相应的总结.大神请绕道,觉得低 ...

  7. python GUI输入窗口

    为了解决 sublime text 下 python 的 raw_input() 函数无法起效,便萌生了个用 GUI 窗口来获取输入的想法,一开始想用 Tkinter,后来想了下还是用 PyQt 吧, ...

  8. Linux 命令——grep | 正则表达式

    感觉讲的很详细,瞬间懂了grep,正则. from: here 简介 grep (global search regular expression(RE) and print out the line ...

  9. vCenter Server Appliance

    vCenter Server Appliance https://10.0.0.10:5480

  10. lua特性纪要

    [局部变量] lua的局部变量通过local进行显示声明, 其作用域仅限于声明它的块block.这里的block分为三种类型: 1.控制结构的执行体 2.函数的执行体 3.chunk 比较容易引起混淆 ...