static void Main(string[] args) { /* Tym sie nie przejmowac bo to tak do testow tylko najebalem taki kod typu next.next.next ale widac ze dziala */ Lista<string> liscior = new Lista<string>(); Console.WriteLine(liscior.usunZKonca()); liscior.dodajNaPoczatku("pjerszy"); liscior.dodajNaPoczatku("drugi"); liscior.dodajNaKoncu("trzeci"); liscior.dodajNaKoncu("czwarty"); liscior.dodajNaPoczatku("piaty"); Element<string> a; a = liscior.zwroc(); Console.WriteLine(a.wartosc); Console.WriteLine(a.Next.wartosc); Console.WriteLine(a.Next.Next.wartosc); Console.WriteLine(a.Next.Next.Next.wartosc); Console.WriteLine(a.Next.Next.Next.Next.wartosc); Console.WriteLine(liscior.usunZPoczatku()); Console.WriteLine(liscior.usunZPoczatku()); Console.WriteLine(liscior.usunZPoczatku()); Console.WriteLine(liscior.usunZPoczatku()); if (liscior.czyPusta()) { Console.WriteLine("Pusta"); } else { Console.WriteLine("nie Pusta"); } Console.ReadLine(); }
public void wyszukajSciezke(string Ewierzcholek1,string Ewierzcholek2 ) { Wierzcholek wierzcholek2 = graf.znajdzWierzcholek(Ewierzcholek2); Wierzcholek wierzcholek1 = graf.znajdzWierzcholek(Ewierzcholek1); Bufor<Wierzcholek> kolejka = new Bufor<Wierzcholek>(100); kolejka.dodaj(wierzcholek1); Wierzcholek nastepny = wierzcholek1; Wierzcholek aktualny = wierzcholek1; try { while (true){ aktualny.czyOdwiedzony = true; Lista<Wierzcholek> listaSasiadow = graf.zwrocSasiadow(aktualny); while (true) { try { Wierzcholek dodanieOjca = listaSasiadow.usunZKonca(); if (dodanieOjca.czyOdwiedzony == true) { continue; } dodanieOjca.rodzic = aktualny; kolejka.dodaj(dodanieOjca); } catch (IndexOutOfRangeException) { break; } } try { nastepny = kolejka.glowa; } catch (ExceptionPustyBufor) { throw new ExceptionBrakSciezki(); } if (nastepny.nazwa == wierzcholek2.nazwa) { break; } aktualny = nastepny; } } catch (ExceptionBrakSciezki) { Console.WriteLine("Brak Sciezki"); return; } Lista<string> sciezka = new Lista<string>(); while (true) { try { sciezka.dodajNaPoczatku(nastepny.nazwa); nastepny = nastepny.rodzic; } catch (Exception) { break; } } while (true) { try { Console.WriteLine(sciezka.usunZPoczatku()); } catch (IndexOutOfRangeException) { return; } } }