📄 bucketsorter.cs
字号:
namespace Opus6
{
using System;
[Copyright("Copyright (c) 2001 by Bruno R. Preiss, P.Eng."), Version("$Id: BucketSorter.cs,v 1.4 2001/10/28 19:50:09 brpreiss Exp $")]
public class BucketSorter : AbstractSorter
{
public BucketSorter(int m)
{
this.m = m;
this.count = new int[m];
}
public static void Main()
{
AbstractSorter.TestSorter(new BucketSorter(0x400), 0x186a0, 0x7b, 0x400);
}
protected override void Sort()
{
int[] numArray1;
int num5;
for (int num1 = 0; num1 < this.m; num1++)
{
this.count[num1] = 0;
}
for (int num2 = 0; num2 < base.n; num2++)
{
(numArray1 = this.count)[num5 = (int) base.array[num2]] = numArray1[num5] + 1;
}
int num3 = 0;
int num4 = 0;
while (num3 < this.m)
{
while (this.count[num3] > 0)
{
base.array[num4++] = (ComparableObject) num3;
(numArray1 = this.count)[num5 = num3] = numArray1[num5] - 1;
}
num3++;
}
}
protected int[] count;
protected int m;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -