static void Main(string[] args) { Dijkstra graph = new Dijkstra(5); graph.AddEdge(0, 1, 10); graph.AddEdge(0, 3, 7); graph.AddEdge(1, 2, 5); graph.AddEdge(1, 3, 8); graph.AddEdge(1, 4, 2); graph.AddEdge(2, 4, 8); graph.AddEdge(3, 4, 6); graph.GetPath(0); Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("Przykładowa implementacja algorytmu Dijkstry"); //przygotowanie danych //utworzenie tablicy int rozmiar_tablicy = 5; //ilosc wierzchołków grafu var tablica = new int[rozmiar_tablicy, rozmiar_tablicy]; //wypełnienie tablicy for (int i = 0; i < rozmiar_tablicy; i++) { for (int j = 0; j < rozmiar_tablicy; j++) { tablica[i, j] = Dijkstra.INFINITI; } } //uzupełnienie macierzy sąsiedztwa //tablica zaharkodowana, najlepiej by było przekazywać macierz jako parametr tablica[0, 1] = 2; tablica[0, 2] = 3; tablica[1, 3] = 3; tablica[1, 4] = 7; tablica[2, 3] = 4; tablica[3, 4] = 1; //utworzenie instancji klasy var dijkstra = new Dijkstra(tablica); //pobranie ścieżki między wierzchołkami podanymi w parametrze metody var test = dijkstra.GetPath(0, 4); foreach (var item in test) { Console.WriteLine(item.ToString()); } ; Console.ReadLine(); }