博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C#】1.算法温故而知新 - 简单的桶排序
阅读量:6616 次
发布时间:2019-06-24

本文共 956 字,大约阅读时间需要 3 分钟。

该算法的时间复杂度是O(M+N),M为桶的个数,N为待排序的个数

 

缺点:

1.不适用于小数

2.当数值过多,太浪费空间,比如数值范围为0~99999,那需申请100000个变量,也就是要写成a[1000000]。

 

 

代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    public class Program    {        public static void Main(string[] args)        {            int[] nums = new int[9] { 2, 1, 9, 2, 7, 3, 1, 8, 2 };//初始化一个数组,其中有9个数,每个数都不大于10,这里假定是我们输入的数,需要从小到大排序            int[] a = new int[11];//因为每个数都不大于10,所以初始化一个包含11个数的数组a            int i, j, t;            for (i = 0; i <= 10; i++) a[i] = 0;//给a数组赋值都为0            for (i = 0; i < nums.Length; i++)            {                t = nums[i];//获取当前的数                a[t]++;//进行计数            }            for (i = 0; i <= 10; i++)//依次判断a[0]~a[10]                for (j = 1; j <=a[i]; j++)//出现了几次就输出几次                    Console.Write("  " + i);        }    }}
本文转自叶超Luka博客园博客,原文链接:http://www.cnblogs.com/yc-755909659/p/3986443.html,如需转载请自行联系原作者
你可能感兴趣的文章
linux下查看nginx,apache,mysql,php的编译参数[转]
查看>>
Android掌中游斗地主游戏源码完整版
查看>>
LeetCode - 26. 删除排序数组中的重复项
查看>>
Linux LVM逻辑卷配置过程详解
查看>>
关于IT服务管理的服务台
查看>>
rundeck 修改密码 添加节点
查看>>
IT讲师韩顺平:创业不易,尚硅谷延续教育初心
查看>>
IntelliJ IDEA 插件 阿里巴巴Java开发手册
查看>>
利用nmap对Mongodb Redis未授权访问测试
查看>>
CakePHP
查看>>
我的友情链接
查看>>
编译mysql5.6.27
查看>>
搭建centos6.7网站服务器记录
查看>>
我的友情链接
查看>>
Release版本调用ffmpeg av_register_all程序崩溃
查看>>
Referenced management pack not found
查看>>
jquery中data函数的用法示例
查看>>
巧用strtotime函数计算日期
查看>>
JVM中java对象的生命周期
查看>>
mysql 查看连接数,状态
查看>>