Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package AiSD.Lista11v2;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Scanner;
- public class Graph
- {
- ArrayList<Vertex> vertexes;
- int amount; //ilość wierzchołków
- Graph()
- {
- amount = 0;
- vertexes = new ArrayList<Vertex>();
- }
- void load()
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("Put the file path");
- String scan = sc.nextLine();
- try
- {
- File file = new File(scan);
- sc = new Scanner(file);
- while(sc.hasNextLine())
- {
- String temp = sc.nextLine();
- String[] temp2 = temp.split(";");
- int[] temp3 = new int[3];
- for(int i=0; i<temp2.length; i++)
- {
- temp3[i]=Integer.parseInt(temp2[i]);
- }
- //algorytm wstawiania do list
- if(vertexes.isEmpty())
- {
- Vertex start = new Vertex(temp3[0]);
- Vertex end = new Vertex(temp3[1]);
- start.list.put(end, temp3[2]);
- vertexes.add(start);
- vertexes.add(end);
- }
- else
- {
- if(vertexes.get(vertexes.size()-1).id==temp3[0])
- {
- //sprawdzam czy następnik istnieje
- boolean exists = false;
- int index = 0;
- for(int i=0; i<vertexes.size() && !exists; i++)
- {
- index = i;
- exists = vertexes.get(i).id==temp3[1];
- }
- if(exists)
- {
- vertexes.get(vertexes.size()-1).list.put(vertexes.get(index),temp3[2]);
- }
- else
- {
- Vertex newVertex = new Vertex(temp3[1]);
- vertexes.add(newVertex);
- vertexes.get(vertexes.size()-2).list.put(vertexes.get(vertexes.size()-1),temp3[2]);
- }
- }
- else
- {
- Vertex newVert = new Vertex(temp3[0]);
- vertexes.add(newVert);
- boolean exists = false;
- int index = 0;
- for(int i=0; i<vertexes.size() && !exists; i++)
- {
- index = i;
- exists = vertexes.get(i).id==temp3[1];
- }
- if(exists)
- {
- vertexes.get(vertexes.size()-1).list.put(vertexes.get(index),temp3[2]);
- }
- else
- {
- Vertex newVertex = new Vertex(temp3[1]);
- vertexes.add(newVertex);
- vertexes.get(vertexes.size()-2).list.put(vertexes.get(vertexes.size()-1),temp3[2]);
- }
- }
- }
- }
- }
- catch(FileNotFoundException e)
- {
- System.out.println("File not found");
- }
- }
- void printGraph()
- {
- for(Vertex v:vertexes)
- {
- v.printVertex();
- }
- }
- public static void main(String[] args)
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("Menu");
- String input = "";
- Graph graph = new Graph();
- while(!input.equals("exit"))
- {
- switch(input)
- {
- case "":
- System.out.println("load - loading vertexes and edges from file");
- System.out.println("available - prints available towns from given town");
- System.out.println("print - prints graph as a adjacency list");
- System.out.println("exit - end of program");
- break;
- case "load":
- graph.load();
- break;
- case "print":
- graph.printGraph();
- break;
- case "exit":
- System.out.println("end of program");
- break;
- }
- input=sc.nextLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement