예제 #1
0
 public WyszykiwarkaEnum(int IndexZmiany, Wyszukiwarka <T, L> .Odniesienie korzeńWstepny)
 {
     this.IndexZmiany       = IndexZmiany;
     this.KorzeńWstepny     = korzeńWstepny;
     this.KorzeńPrzeglądany = korzeńWstepny;
     Stos.Push(0);
 }
예제 #2
0
        static void Main(string[] args)
        {
            Stos a = new Stos(10);

            for (int i = 0; i < 10; i++)
            {
                a.push(i * 2);
            }
            while (!a.empty())
            {
                Console.WriteLine(a.pop());
            }
            Console.ReadKey();
        }
예제 #3
0
        static void Main(string[] args)
        {
            //STOS
            Console.WriteLine("STOS");
            string s1   = "Dawid";
            string s2   = "Jan";
            string s3   = "Kowalski";
            Stos   stos = new Stos();

            stos.Dodaj(s1);
            stos.Dodaj(s2);
            stos.Dodaj(s3);

            stos.Wypisz();
            Console.WriteLine("liczba elementow na stosie: " + stos.Zlicz());
            stos.Usun();
            stos.Usun();
            stos.Wypisz();
            Console.WriteLine("liczba elementow na stosie: " + stos.Zlicz());

            Console.WriteLine("KOLEKCJA Z LISTY DWUKIERUNKOWEJ");
            //KOLEKCJA Z LISTY DWUKIERUNKOWEJ
            string   k1       = "kon";
            string   k2       = "ptak";
            string   k3       = "kaczor";
            Kolekcja kolekcja = new Kolekcja();

            kolekcja.Dodaj(k1);
            kolekcja.Dodaj(k2);
            kolekcja.Dodaj(k3);
            kolekcja.Wypisz();
            Console.WriteLine();
            kolekcja.Usun(2);
            kolekcja.Usun(0);
            kolekcja.Wypisz();
            Console.WriteLine();
            kolekcja.Wstaw("Malpa", 1);
            kolekcja.Wstaw("Osa", 1);
            kolekcja.Wypisz();

            Console.ReadKey();
        }
예제 #4
0
        public object Start(object instancja, string nazwaMetodyStartu = "Start", bool doExecuting = true)
        {
            NumerIteracji = 0;
            Instance      = instancja;
            var typ = Instance.GetType();


            var metoda = typ.GetMethod(nazwaMetodyStartu);//typDef.Methods.FirstOrDefault(mm => mm.Name == nazwaMetodyStartu);


            var m = new Metoda(metoda);

            AktualnaMetoda         = m;
            CzyWykonywacInstrukcje = true;

            Stos.PushObject(instancja);
            m.Instrukcje = new List <InstructionBase>()
            {
                new CallStart(m)
            };

            if (doExecuting)
            {
                Execute();
                return(Wynik);
            }
            else
            {
                //pierwsza instrukcja to CallStart(m) - która nie serializuje się, musi być teraz wykonana - dla ustawienia
                //odpowiedniego stosu i stanu wirutalnej maszyny
                aktualnaInstrukcja = PobierzAktualnaInstrukcje();
                aktualnaInstrukcja.Wykonaj();
                NumerIteracji++;
                return(null);
            }
        }
예제 #5
0
        public void StosTest()
        {
            Console.WriteLine("\nTest Stosu");

            Stos <int> kolejka = new Stos <int>();

            kolejka.Zakolejkuj(1);
            if (kolejka.Dlugosc == 1)
            {
                Console.WriteLine("OK");
            }
            else
            {
                Console.WriteLine("BLAD");
            }

            kolejka.Zakolejkuj(2);

            if (kolejka.Odkolejkuj() == 2)
            {
                Console.WriteLine("OK");
            }
            else
            {
                Console.WriteLine("BLAD");
            }


            if (kolejka.Odkolejkuj() == 1)
            {
                Console.WriteLine("OK");
            }
            else
            {
                Console.WriteLine("BLAD");
            }

            var listaDoDodania = new List <int>()
            {
                1, 22, 33
            };

            Console.WriteLine("Dodawanie elementow");
            foreach (var el in listaDoDodania)
            {
                kolejka.Zakolejkuj(el);
                Console.WriteLine(el);
            }

            for (int i = 0; i < listaDoDodania.Count; ++i)
            {
                var odk = kolejka.Odkolejkuj();
                Console.WriteLine("Odkolejkowano: " + odk);
                if (listaDoDodania[listaDoDodania.Count - i - 1] == odk)
                {
                    Console.WriteLine("OK");
                }
                else
                {
                    Console.WriteLine("BLAD");
                }
            }
        }