Idée d'algorithme: Trier par seul chiffres, dix chiffres ... à son tour. Chaque POS a un processus d'allocation et un processus de collecte. Array [i] [0] Enregistre le nombre de données dans la i-tème ligne.
Tri de package; / ** * Tri de cardinalité * moyenne O (d (n + r)), meilleur o (d (n + r)), pire o (d (n + r)); complexité de l'espace O (n + r); écurie; Plus complexe * d est le nombre de chiffres, R est le nombre de listes liées après allocation * @author zeng * * / classe publique RadixSort {// pos = 1 représente un seul chiffre, pos = 2 représente dix chiffres publics static int getnuminpos (int tmp)% 10;} // trouver le chiffre maximum dpublic static int getmaxweishu (int [] a) {int max = a [0]; for (int i = 0; i <a.length; i ++) {if (a [i]> max) max = a [i];} int tmp = 1, d = 1; ! = 0) {d ++;} else casser;} return d;} public static void radixsort (int [] a, int d) {int [] [] array = new int [10] [a.length + 1]; for (int i = 0; i <10; i ++) {array [i] [0] = 0; // array [i] [0] enregistrer le nombre de données dans la ligne i} pour (int); pos <= d; Array [Row] [0]; Col ++) {a [i ++] = array [row] [col];} array [row] [0] = 0; // reset, vous devez utiliser le prochain Pos}}} public Void Main (String [] Args) {int [] A = {49, 38, 65, 197, 76, 213, 27, 50}; getmaxweishu (a)); pour (int i: a) System.out.print (i + "");}}Faites attention aux résultats en cours:
Résumer
Ce qui précède est tout le contenu de cet article sur la mise en œuvre du code de tri de la cardinalité pour l'implémentation de la langue Java. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets liés à Java sur ce site Web. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!