zoukankan      html  css  js  c++  java
  • 【C#】1.算法温故而知新

    该算法的时间复杂度是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);
            }
        }
    }
  • 相关阅读:
    20160421
    20160420笔记
    第一个随笔
    搬家
    OO第十五次作业
    OO第三次博客作业
    OO5-7次作业总结
    从入门到不放弃——OO第一次作业总结
    第八次团队作业——系统设计和任务分配
    第七次作业-团队选题报告和需求规格说明书
  • 原文地址:https://www.cnblogs.com/yc-755909659/p/3986443.html
Copyright © 2011-2022 走看看