• 模拟桶排序


    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //输入0-10测试数据 (好比在100内 输入 50个数字 进行排序)
                int[] testData = { 0, 9, 1, 5, 3, 6, 6, 0};
    
                //桶编号 (0  1 2 3 4 5 6 7 8 9 10)
                List<int> _listBucket = new List<int>();
    
                //初使记录
                List<int> _listBook = new List<int>();
    
                //生成桶0-10编号 并初使值
                for (int j = 0; j < 11; j++)
                {
                    _listBucket.Add(j);
    
                    _listBook.Add(0);//初使红旗(标记)0
                }
    
                //数据和编号比较【数字出现一次 book对应的编号 放一个标记(红旗)】
    
                for (int i = 0; i < testData.Length; i++)
                {
                    for (int k = 0; k < _listBucket.Count; k++)
                    {
                        //如果数和编号相等 则 对应的编号 记录
                        if (testData[i] == _listBucket[k])
                        {
                            _listBook[k]++;
                            break;
                        }
                    }
                }
    
                //输出有记录的对应 对应编号 <好像一个倒过来 输出数字>
    
                for (int f = 0; f < _listBucket.Count; f++)
                {
                    for (int h = 1; h <= _listBook[f]; h++)
                    {
                        Console.WriteLine(f);
                    }
                }
            }
        }
    }

    (看此图容易看懂!)

  • 相关阅读:
    java List 学习
    java Map 的学习
    samba服务
    linux常用命令
    解决粘包问题
    Python网络编程
    python异常处理
    python中封装
    python中继承和多态
    python面向对象基础
  • 原文地址:https://www.cnblogs.com/yzenet/p/5805081.html
Copyright © 2020-2023  润新知