Сортировать элементы массива (размера 10) с помощью поразрядной сортировки - C#
Формулировка задачи:
Сортировать элементы массива(размера 10) с помощью поразрядной сортировки, не писав методы и классы, т.е. всё сразу в Main
Решение задачи: «Сортировать элементы массива (размера 10) с помощью поразрядной сортировки»
textual
Листинг программы
Random random = new Random(); int[] array = new int[10]; for (int i = 0; i < array.Length; i++) { array[i] = random.Next(99); Console.Write("{0,3}", array[i]); } int range = 10, length = 2; //range - алфавит(10 цифр) length - максимальная длина одного числа ArrayList[] lists = new ArrayList[range]; for (int i = 0; i < range; ++i) //Создаем пустые списки, количество которых равно числу range. lists[i] = new ArrayList(); for (int step = 0; step < length; ++step) //проходимся по разрядам чисел { for (int i = 0; i < array.Length; ++i) //и раскидываем числа по спискам, в соответствии с рассматриваемым разрядом { int temp = (array[i] % (int)Math.Pow(range, step + 1)) // выделяем из числа только текущий разряд (int)Math.Pow(range, step); lists[temp].Add(array[i]); } int k = 0; //и снова собираем числа из списков в массив for (int i = 0; i < range; ++i) { for (int j = 0; j < lists[i].Count; ++j) { array[k++] = (int)lists[i][j]; } } //очистка списков for (int i = 0; i < range; ++i) lists[i].Clear(); } Console.WriteLine(); for (int i = 0; i < array.Length; i++) { Console.Write("{0,3}", array[i]); } Console.ReadKey();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д