package interpretacja; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.List; import wektoryzacja.Graf; public class WczytanieGrafu { public Graf czytaj(File plik) { Graf graph = new Graf(); BufferedReader in = null; try { in = new BufferedReader(new FileReader(plik)); int n = Integer.parseInt(in.readLine()); for (int i = 0; i < n; i++) { String line = in.readLine(); String[] words = line.split(" "); int x = Integer.parseInt(words[0]); int y = Integer.parseInt(words[1]); int[] node = new int[]{x, y}; graph.dodajWierzcholek(node); } List nodes = graph.pobierzWierzcholki(); for (int i = 0; i < n; i++) { String line = in.readLine(); String[] words = line.split(" "); int[] sourceNode = nodes.get(i); for (int j = 0; j < words.length; j++) { int e = Integer.parseInt(words[j]); int[] destNode = nodes.get(e); if (sourceNode != destNode) { graph.dodajKrawedz(sourceNode, destNode); } else { System.out.println("Petla w grafie!"); } } } in.close(); } catch (IOException ioe) { if (in != null) { try { in.close(); } catch (Exception e) {}; } return null; } return graph; } }