示例#1
0
 /// <summary>
 /// Napojenie hrany na už existujϊcu hranu
 /// </summary>
 /// <param name="paPolicko">policko</param>
 /// <param name="paPolickoVedlajsie">susedne policko</param>
 private void PosunHranu(Policko paPolicko, Policko paPolickoVedlajsie)
 {
     Hrana hr = paPolickoVedlajsie.Hrana;
     paPolicko.Hrana = hr;
     paPolicko.Vrchol = null;
     hr.PridajPolicko(paPolicko);
 }
示例#2
0
 /// <summary>
 /// Vytvαranie hrany ak sa vedΎa nachαdza vrchol
 /// </summary>
 /// <param name="paPolicko">policko</param>
 /// <param name="paPolickoVedlajsie">susedne policko</param>
 private void VytvorNovuHranu(Policko paPolicko, Policko paPolickoVedlajsie)
 {
     Hrana hr = new Hrana();
     paPolicko.Hrana = hr;
     paPolicko.Vrchol = null;
     hr.PridajPolicko(paPolicko);
     hr.Vrchol1 = paPolickoVedlajsie.Vrchol;
     aZoznamHran.Add(hr);
 }
示例#3
0
 /// <summary>
 /// Vytvorenie vrcholu vedΎa vrchoku
 /// </summary>
 /// <param name="paPolicko">policko</param>
 /// <param name="paPolickoVedlajsie">susedne policko</param>
 private void VytvorVrcholVedlaVrcholu(Policko paPolicko, Policko paPolickoVedlajsie)
 {
     Vrchol vr;
     if (paPolicko.Vrchol == null)
     {
         vr = new Vrchol(paPolicko);
         paPolicko.Vrchol = vr;
         aZoznamVrcholov.Add(vr);
     }
     else
     {
         vr = paPolicko.Vrchol;
     }
     paPolicko.Hrana = null;
     Hrana hr = new Hrana();
     hr.Vrchol1 = paPolickoVedlajsie.Vrchol;
     hr.Vrchol2 = vr;
     aZoznamHran.Add(hr);
 }
示例#4
0
        /// <summary>
        /// Vytvorenie digrafu, teda každα z hrαn sa zaznamenα aj v opraθnom smere
        /// </summary>
        private void HranyVOpacnomSmere() {
            int pocet = aZoznamHran.Count;
            int hodnotaAktualnej;
            for (int i = 0; i < pocet; i++)
            {
                Hrana aktualna = aZoznamHran[i];
                hodnotaAktualnej = aktualna.DajHodnotu();

                Hrana nova = new Hrana();
                
                nova.Vrchol1 = aktualna.Vrchol2;
                nova.Vrchol2 = aktualna.Vrchol1;


                if (hodnotaAktualnej > 1)
                {
                    for (int a = hodnotaAktualnej - 2; a >= 0; --a)
                    {
                        nova.PridajPolicko(aktualna.DajPolicko(a));
                    }
                }
                aZoznamHran.Add(nova);
            }
        }