package fifthwork;
import java.io.File;
import java.io.PrintWriter;
import java.util.Scanner;
public class GraphReverse{
int v;
int e;
static int [][] matrix ;
static int [][] matrixDG;
public static void main(String[] args){
try{
Scanner scanner = new Scanner(new File("tinyDG.txt"));
PrintWriter fout = new PrintWriter(new File("tinyDG_matrix.txt"));
int v = scanner.nextInt();
int e = scanner.nextInt();
matrix = new int[v][v];
matrixDG = new int[v][v];
for (int i = 0; i < e; i++) {
int v1 = scanner.nextInt();
int v2 = scanner.nextInt();
matrix[v1][v2] = 1;
matrixDG[v2][v1] = 1;
}
System.out.println("邻接表");
for(int i=0; i<v; i++){
System.out.print(i + " : ");
for(int j=0; j<v; j++){
if(matrix[i][j]>0)
System.out.print(j + " ");
}
System.out.println();
}
System.out.println("\n\n\n反向图");
for(int i=0; i<v; i++){
System.out.print(i + " : ");
for(int j=0; j<v; j++){
if(matrixDG[i][j]>0)
System.out.print(j + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
第五周作业——有向图邻接表表示及反向图构造
最新推荐文章于 2019-10-09 07:38:05 发布