Este ejemplo comparte el código específico para la implementación de Java del algoritmo Floyd para encontrar la ruta más corta para su referencia. El contenido específico es el siguiente
import java.io.fileInputStream; import java.io.filenotfoundException; import java.util.scanner; public class testMainio { / ** * @param args * @throws filenotfoundException * / public static void main (string [] args) lanza FileNotFoundException {testMainio test_print = new testMainio (); int [] [] g = test_print.intputgragh ("d: //users//test.txt", 6); int [] [] dis = test_print.floyd (g, 6); test_print.printg (dis, 6); } public void printg (int [] [] g, int n) {for (int i = 0; i <n; i ++) {for (int j = 0; j <n; j ++) {system.out.println (i+"->"+j+""+g [i] [j]); }}} public int [] [] intgragh (string ruta, int num) lanza FileNotFoundException {int [] [] g = new int [num] [num]; for (int i = 0; i <num; i ++) {for (int j = 0; j <num; j ++) {g [i] [j] = 999; }} Escáner en = nuevo escáner (nuevo FileInputStream (ruta)); while (in.hasnext ()) {int i = in.nextInt (); int j = in.nextInt (); int weight = in.nextInt (); G [i] [j] = peso; } return g; } public int [] [] floyd (int [] [] g, int n) {int [] [] dis = new int [n] [n]; para (int q = 0; q <n; q ++) {for (int w = 0; w <n; w ++) {dis [q] [w] = g [q] [w]; }} para (int k = 0; k <n; k ++) {for (int i = 0; i <n; i ++) {for (int j = 0; j <n; j ++) {if (dis [i] [j]> dis [i] [k]+dis [k] [j]) {dis [i] [j] = dis [i]+dis [k] [j]; }}} return dis; }}}}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.