第四周__图的表示

来源:互联网 发布:mac光影 编辑:程序博客网 时间:2024/05/22 10:37
  1. package bbb;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.File;  
  5. import java.io.FileNotFoundException;  
  6. import java.io.FileReader;  
  7. import java.io.IOException;  
  8. import java.io.PrintWriter;  
  9.   
  10. public class GraphRepresentation {  
  11.   
  12.     /** 
  13.      *  计算得到图的邻接矩阵,并把邻接矩阵保存到文件 
  14.      */  
  15.     static int arc[][];  
  16.     static int vertextNum;  
  17.     static int arcNum;  
  18.     static int vartex[];  
  19.     public static void main(String[] args) {  
  20.         String path1="src/tinyG.txt";  
  21.         String path2="src/tinyGResult.txt";  
  22.         try {  
  23.             FileReader read=new FileReader(new File(path1));  
  24.             BufferedReader reader=new BufferedReader(read);  
  25.             PrintWriter out=new PrintWriter(new File(path2));  
  26.             String line="";  
  27.             int index=1;  
  28.             while((line=reader.readLine())!=null){  
  29.                 if(index==1){  
  30.                     vertextNum=Integer.parseInt(line.trim());  
  31.                     index++;  
  32.                     continue;  
  33.                 }else if(index==2){  
  34.                     arcNum=Integer.parseInt(line.trim());  
  35.                     index++;  
  36.                     continue;  
  37.                 } else if(index==3){  
  38.                     arc=new int[vertextNum][arcNum];  
  39.                     index++;  
  40.                     continue;  
  41.                 }  
  42.                 addEadge(line);  
  43.                 index++;  
  44.             }  
  45.             for(int i=0;i<vertextNum;i++){  
  46.                 for(int j=0;j<vertextNum;j++){  
  47.                     out.print(arc[i][j]+"\t");  
  48.                     System.out.print(arc[i][j]+"\t");  
  49.                 }  
  50.                 out.flush();  
  51.                 out.println();  
  52.                 System.out.println();  
  53.             }  
  54.         } catch (Exception e) {  
  55.             e.printStackTrace();  
  56.         }  
  57.     }  
  58.   
  59.    public static void addEadge(String line){  
  60.        String []result=line.trim().split(" ");  
  61.        int v1=Integer.parseInt(result[0]);  
  62.        int v2=Integer.parseInt(result[1]);  
  63.        for(int i=0;i<arcNum;i++){  
  64.            arc[v1][v2]=1;  
  65.            arc[v2][v1]=1;  
  66.        }  
  67.    }  
  68. }
0 0
原创粉丝点击