Поразрядная сортировка MSD в C#
Формулировка задачи:
Можете написать код поразрядной сортировки MSD в C#
Решение задачи: «Поразрядная сортировка MSD в C#»
textual
Листинг программы
class RadixSorting { public static void sorting(int[] arr, int range, int length) { ArrayList[] lists = new ArrayList[range]; for(int i = 0; i < range; ++i) lists[i] = new ArrayList(); for(int step = 0; step < length; ++step) { //распределение по спискам for(int i = 0; i < arr.Length; ++i) { int temp = (arr[i] % (int)Math.Pow(range, step + 1)) / (int)Math.Pow(range, step); lists[temp].Add(arr[i]); } //сборка int k = 0; for(int i = 0; i < range; ++i) { for(int j = 0; j < lists[i].Count; ++j) { arr[k++] = (int)lists[i][j]; } } for(int i = 0; i < range; ++i) lists[i].Clear(); } } } class Program { static void Main(string[] args) { int[] arr = new int[100]; Random rd = new Random(); for(int i = 0; i < arr.Length; ++i) { arr[i] = rd.Next(0, 100); } System.Console.WriteLine("The array before sorting:"); foreach(double x in arr) { System.Console.Write(x + " "); } RadixSorting.sorting(arr, 10, 2); System.Console.WriteLine("\n\nThe array after sorting:"); foreach(double x in arr) { System.Console.Write(x + " "); } System.Console.WriteLine("\n\nPress the <Enter> key"); System.Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д