Идея алгоритма: сортировка по однозначным цифрам, десять цифр ... в свою очередь. Каждый POS имеет процесс распределения и процесс сбора. Array [i] [0] записывает количество данных в I-TH Row.
Сортировка пакета;/*** Сортировка кардинальности* Среднее O (d (n+r)), лучший O (d (n+r)), худший O (d (n+r)); Сложность пространства O (N+R); стабильный; более сложное * d - это количество цифр, r - это количество связанных списков после распределения * @author Zeng * */public class Radixsort {// pos = 1 представляет однозначные цифры, POS = 2 представляет десять цифр общедоступных Static int getNumInpos (int num, int pos) {int tmp = 1; для (int i = 0; i <pos - 1; i+Щетка) {tmp = 1; int i = 0; TMP) % 10;} // Нахождение максимальной цифры dpublic static int getmaxweishu (int [] a) {int max = a [0]; для (int i = 0; i <a.length; i ++) {if (a [i]> max) max = a [i];} int tmp = 1, d = 1; ! = 0) {d ++;} else break;} return d;} public static void radixsort (int [] a, int d) {int [] [] array = new int [10] [a.length+1]; для (int i = 0; i <10; i ++) {Array [i] [i] [0] = 0;// rab [i] [i] [0] worce number of glo grate roup i] [i] roub at grate [i] [i] [i] [i] [I] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [i] [1] = 0;/// arr. POS <= d; Array [ряд] [0]; getMaxWeishu (a)); для (int i: a) System.out.print (i + "");}}Обратите внимание на результаты работы:
Суммировать
Выше приведено все содержание этой статьи о реализации кода сортировки кардинальности для реализации языка Java. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие темы, связанные с Java на этом веб-сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!