您的位置:首页 > 其它

第五周作业——有向图邻接表表示及反向图构造

2014-04-08 16:26 253 查看
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;
}

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();
}

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: