代码:
- package 邻接链表;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- public class GraphRepresentation {
- public static void main(String[] args) {
- try {
- FileReader in = new FileReader("F:\\tinyG.txt");
- BufferedReader bl = new BufferedReader(in);
- int tempchar;
- String str = "";
- str = bl.readLine();
- int x = Integer.parseInt(str);
- str = bl.readLine();
- int E = Integer.parseInt(str);
- int[][] g = new int[x][x];
- str = "";
- int a = 0, b = 0;
- while ((tempchar = bl.read()) != -1)
- {
- str = str + (char) tempchar;
- if ((char) tempchar == ' ')
- {
- a = Integer.parseInt(str.trim());
- str = "";
- }
- if ((char) tempchar == '\n')
- {
- b = Integer.parseInt(str.trim());
- g[a][b] = 1;
- g[b][a] = 1;
- str = "";
- }
- }
- bl.close();
- in.close();
- FileOutputStream fos = new FileOutputStream("tinyG_matrix.txt");
- OutputStreamWriter osw = new OutputStreamWriter(fos, "gb2312");
- BufferedWriter bw = new BufferedWriter(osw);
- str="";
- System.out.println("得 到 图 的 邻 接 矩 阵 为 : ");
- for (int i = 0; i < x; i++)
- {
- for (int j = 0; j < x; j++)
- {
- System.out.print(g[i][j]+" ");
- str=str+Integer.toString(g[i][j]);
- if(j==12){
- System.out.println();
- bw.write(str);
- bw.newLine();
- str="";
- }
- }
- }
- bw.close();
- osw.close();
- }
- catch (NumberFormatException e)
- {
- e.printStackTrace();
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
结果保存到tinyG_matrix.txt中,如下: