DiaxPlayer

Untitled

Jan 5th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.27 KB | None | 0 0
  1. private void ZrownowazDrzewo(int liczba)
  2.         {
  3.             WezelDrzewa[] tablica = new WezelDrzewa[liczba];
  4.             int iloscWpisanych = 0;
  5.             iloscWpisanych = WpiszDoTablicy(this.KorzenDrzewa, ref tablica, iloscWpisanych);
  6.             // coś dalej
  7.             int lewo = 0;
  8.             int prawo = liczba - 1;
  9.             int srodek = (lewo + prawo) / 2;
  10.             this.KorzenDrzewa = tablica[srodek];
  11.             this.KorzenDrzewa.LewaGalaz = null;
  12.             this.KorzenDrzewa.PrawaGalaz = null;
  13.             UtworzZTablicy(ref KorzenDrzewa.LewaGalaz, ref tablica, lewo, srodek-1);
  14.             UtworzZTablicy(ref KorzenDrzewa.LewaGalaz, ref tablica, srodek+1, prawo);
  15.         }
  16.         private int WpiszDoTablicy(WezelDrzewa Wezel, ref WezelDrzewa[] tab, int liczba)
  17.         {
  18.             if(Wezel.LewaGalaz!=null)
  19.             {
  20.                 liczba = WpiszDoTablicy(Wezel.LewaGalaz, ref tab, liczba);
  21.             }
  22.             tab[liczba] = Wezel;
  23.             liczba++;
  24.             if (Wezel.PrawaGalaz != null)
  25.             {
  26.                 liczba = WpiszDoTablicy(Wezel.PrawaGalaz, ref tab, liczba);
  27.             }
  28.             return liczba;
  29.         }
  30.         private void UtworzZTablicy(ref WezelDrzewa Wezel, ref WezelDrzewa[] tab, int lewo, int prawo)
  31.         {
  32.             int srodek = (lewo + prawo) / 2;
  33.             if(lewo<=prawo)
  34.             {
  35.                 Wezel = tab[srodek];
  36.                 UtworzZTablicy(ref Wezel.LewaGalaz, ref tab, lewo, srodek - 1);
  37.                 UtworzZTablicy(ref Wezel.LewaGalaz, ref tab, srodek + 1, prawo);
  38.             }
  39.         }
Advertisement
Add Comment
Please, Sign In to add comment