Упражнения на Java: сортировка массива заданных целых чисел с использованием алгоритма сортировки Radix

Алгоритм сортировки Java: упражнение 3 с решением

Напишите программу на Java для сортировки массива заданных целых чисел с помощью алгоритма сортировки Radix.

Согласно Википедия «В информатике radix sort — это несравнительный алгоритм сортировки , который сортирует данные с целочисленными ключами по группировка ключей по отдельным цифрам, которые имеют одинаковую значащую позицию и значение «.

Пример решения:

Код Java:

 //https://bit.ly/2MJHo7Jimport java.util.Arrays; открытый класс RadixSort {public static void sort (int [] array) {RadixSort.sort (array, 10  );  } public static void sort (int [] array, int radix) {if (array.length == 0) {return;  }//Определение минимального и максимального значений int minValue = array [0];  int maxValue = массив [0];  для (int я = 1; я maxValue) {maxValue = массив [я];  }}//Выполняем сортировку подсчетом по каждой экспоненте/цифре, начиная с наименьшей//значащей цифры int exponent = 1;  while ((maxValue - minValue)/exponent> = 1) {RadixSort.countingSortByDigit (массив, основание, показатель степени, minValue);  показатель степени * = основание системы счисления;  }} private static void countingSortByDigit (массив int [], целое основание, целое число, int minValue) {int bucketIndex;  int [] ведра = новый int [основание];  int [] output = new int [длина массива]; //Инициализируем сегмент для (int i = 0; i = 0; i--) {bucketIndex = (int) (((array [i] - minValue)/exponent)% radix);  output [- buckets [bucketIndex]] = массив [i];  }//Копируем обратно для (int i = 0; i  

Пример вывода:

 Исходный массив: [7, -5, 3, 2  , 1, 0, 45] Сортированный массив: [- 5, 0, 1, 2, 3, 7, 45] 

Блок-схема:

Редактор кода Java:

Назад: Напишите программу на Java для сортировки массива заданных целых чисел с помощью алгоритма пузырьковой сортировки.
Далее: Напишите программу на Java для сортировки массива заданных целых чисел с помощью алгоритма сортировки слиянием.

Оцените статью
nanomode.ru
Добавить комментарий