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

来源:互联网 发布:大阪旅游攻略 知乎 编辑:程序博客网 时间:2024/04/30 12:24

 有向图中反向图构造。对tinyDG.txt(http://pan.baidu.com/s/1o6jWtcA)文件所表示的图,输出其邻接表表示 与 反向图的邻接表表示。类名GraphReverse博文标题:第五周作业——有向图邻接表表示及反向图构造

邻接表表示示例如下:

0:1 5

1:

2:0 3

……


package suanfa;import java.io.BufferedReader;  import java.io.File;  import java.io.FileReader;  import java.util.StringTokenizer;  public class GraphReverse {private static int vertex;private static int edge;private static int[][] getNum(){int [][] matrix = null;try{BufferedReader reader = new BufferedReader (new FileReader(new File("src/tinyDG.txt")));              vertex = Integer.valueOf(reader.readLine().trim());              edge = Integer.valueOf(reader.readLine().trim());              matrix = new int[edge][2];                            String temp = "";              int count = 0;              while((temp = reader.readLine()) != null) {                  int index = 0;                  StringTokenizer str = new StringTokenizer(temp);                                    while (str.hasMoreElements()) {                      matrix[count][index] = Integer.valueOf(str.nextToken());                      index++;                  }                count++;            }}catch(Exception e){e.printStackTrace();}return matrix;}private static void getSortedList(int[][] data, int num) {          String str = "";          int begin=0, end=0;                    if (num == 0) {              str = "有序表的邻接表:";              begin = 0;              end = 1;          } else if (num == 1) {              str = "反向图的邻接表:";              begin = 1;              end = 0;          }                    System.out.println(str);                    for (int i=0; i<vertex; i++) {              System.out.print(i + ": ");              for (int j=0; j<data.length; j++) {                  if (data[j][begin] == i) {                      System.out.print("\t" + data[j][end]);                  }              }              System.out.println("");          }      }            public static void main(String[] args) {          getSortedList(getNum(), 0);          getSortedList(getNum(), 1);      }  }

运行结果:





0 0
原创粉丝点击