// // This file contains the C# code from Program 3.5 of // "Data Structures and Algorithms // with Object-Oriented Design Patterns in C#" // by Bruno R. Preiss. // // Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng. All rights reserved. // // http://www.brpreiss.com/books/opus6/programs/pgm03_05.txt // public class Example { public static void BucketSort(int[] a, int m) { int[] buckets = new int[m]; for (int j = 0; j < m; ++j) buckets[j] = 0; for (int i = 0; i < a.Length; ++i) ++buckets[a[i]]; for (int i = 0, j = 0; j < m; ++j) for (int k = buckets[j]; k > 0; --k) a[i++] = j; } }