package javapage;
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;
}
//无向图的邻接矩阵写到文件中
for(int i=0; i<v; i++){
for(int j=0; j<v; j++){
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
System.out.println("***************邻接表表示***************");
System.out.println("\n\n\n************反向图的邻接表表示*************");
for(int i=0; i<v; i++){
for(int j=0; j<v; j++){
System.out.print(matrixDG[i][j] + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
第五周作业——有向图邻接表表示及反向图构造
最新推荐文章于 2020-11-25 22:07:21 发布