本文包含后面所有算法中涉及到的工具类
Vocabulary
package krmao.algorithm.common;
public class Vocabulary {
public static char charAt(int index) {
return (char) (index + 65);
}
public static int indexFrom(char _char) {
return _char - 65;
}
}
MatrixUtil
package krmao.algorithm.common;
public class MatrixUtil {
public static final int INF = -1;//无穷大/不可达
public static void printMatrix(final int[][] originalMatrix) {
if (originalMatrix != null) {
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━");
System.out.printf("%3c%3c", ' ', '┃');
for (int i = 0; i < originalMatrix.length; i++)
System.out.printf("%6c", Vocabulary.charAt(i));
System.out.println();
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━");
;
for (int i = 0; i < originalMatrix.length; i++) {
int[] itemMatrix = originalMatrix[i];
System.out.printf("%3c%3c", Vocabulary.charAt(i), '┃');
for (int itemValue : itemMatrix)
if (itemValue == INF)
System.out.printf("%6s", "INF");
else
System.out.printf("%6d", itemValue);
System.out.println();
}
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━");
}
}
}