import java.io.*;
import java.util.*;
public class GraphRepresentation {
int v ; //设置顶点
int e ; //设置边的数目
int[][] matrix; //邻接矩阵
public GraphRepresentation(int v,int e) {//构造函数,初始化函数
this.v = v;
this.e = e;
matrix = new int[v][e];
}
public void addEdge(int v1,int v2) {//两个顶点存在边,设置矩阵的值为1
matrix[v1][v2] = 1;
matrix[v2][v1] = 1;
}
public int[][] getAdjacentMatrix(){//获取邻接矩阵
return matrix;
}
//主函数
public static void main(String[] args)throws Exception{
File file = new File("d:"+File.separator+"tinyG.txt");
//读取文件路径
Scanner scan = new Scanner(file);
PrintWriter out = new PrintWriter("d:"+File.separator+"tinyG_Matrix.txt");
int v = scan.nextInt(); //读取第一行是顶点的个数
int e = scan.nextInt(); //读取第二行是边的个数
GraphRepresentation graph = new GraphRepresentation(v,e);
//读取每条边对应的顶点,设置邻接矩阵的值
for(int i=0;i<e;i++){
int v1 = scan.nextInt();
int v2 = scan.nextInt();
graph.addEdge(v1, v2);
}
//获取无向图的邻接矩阵,并且写入文件
int[][] matrix = graph.getAdjacentMatrix();
for(int i=0;i<v;i++){
for(int j=0;j<v;j++) {
out.print(matrix[i][j]+"\t"); //显示第一行
}
out.println(); //换行
}
out.close();
}
import java.util.*;
public class GraphRepresentation {
int v ; //设置顶点
int e ; //设置边的数目
int[][] matrix; //邻接矩阵
public GraphRepresentation(int v,int e) {//构造函数,初始化函数
this.v = v;
this.e = e;
matrix = new int[v][e];
}
public void addEdge(int v1,int v2) {//两个顶点存在边,设置矩阵的值为1
matrix[v1][v2] = 1;
matrix[v2][v1] = 1;
}
public int[][] getAdjacentMatrix(){//获取邻接矩阵
return matrix;
}
//主函数
public static void main(String[] args)throws Exception{
File file = new File("d:"+File.separator+"tinyG.txt");
//读取文件路径
Scanner scan = new Scanner(file);
PrintWriter out = new PrintWriter("d:"+File.separator+"tinyG_Matrix.txt");
int v = scan.nextInt(); //读取第一行是顶点的个数
int e = scan.nextInt(); //读取第二行是边的个数
GraphRepresentation graph = new GraphRepresentation(v,e);
//读取每条边对应的顶点,设置邻接矩阵的值
for(int i=0;i<e;i++){
int v1 = scan.nextInt();
int v2 = scan.nextInt();
graph.addEdge(v1, v2);
}
//获取无向图的邻接矩阵,并且写入文件
int[][] matrix = graph.getAdjacentMatrix();
for(int i=0;i<v;i++){
for(int j=0;j<v;j++) {
out.print(matrix[i][j]+"\t"); //显示第一行
}
out.println(); //换行
}
out.close();
}
}
0 1 1 0 0 1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 1
0 0 0 0 0 0 0 0 0 1 0 1 0