Advertisement
gride29

zad1

Dec 2nd, 2020
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.12 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Zad1
  4. {
  5.     class Węzeł
  6.     {
  7.         public String wartość;
  8.         public Węzeł lewy;
  9.         public Węzeł prawy;
  10.     }
  11.  
  12.     class Drzewo
  13.     {
  14.         public Węzeł korzeń;
  15.     }
  16.            
  17.     class Program
  18.     {
  19.         static Węzeł UtwórzWęzeł(String wartość)
  20.         {
  21.             Węzeł węzeł = new Węzeł();
  22.             węzeł.wartość = wartość;
  23.             return węzeł;
  24.         }
  25.  
  26.         static void DodajLewy(Węzeł węzeł, Węzeł dziecko)
  27.         {
  28.             węzeł.lewy = dziecko;
  29.         }
  30.         static void DodajPrawy(Węzeł węzeł, Węzeł dziecko)
  31.         {
  32.             węzeł.prawy = dziecko;
  33.         }
  34.  
  35.         static void WyszukajRodzica(Węzeł węzeł, String wartość, String rodzic)
  36.         {
  37.             if (węzeł == null)
  38.             {
  39.                 return;
  40.             }
  41.             if (węzeł.wartość == wartość)
  42.             {
  43.                 Console.WriteLine(rodzic);
  44.             }
  45.             else
  46.             {
  47.                 WyszukajRodzica(węzeł.lewy, wartość, węzeł.wartość);
  48.                 WyszukajRodzica(węzeł.prawy, wartość, węzeł.wartość);
  49.             }
  50.         }
  51.  
  52.         static void Main(string[] args)
  53.         {
  54.             Drzewo drzewo = new Drzewo();
  55.  
  56.             drzewo.korzeń = UtwórzWęzeł("F");
  57.             Węzeł wB = UtwórzWęzeł("B");
  58.             Węzeł wA = UtwórzWęzeł("A");
  59.             Węzeł wC = UtwórzWęzeł("C");
  60.             Węzeł wD = UtwórzWęzeł("D");
  61.             Węzeł wE = UtwórzWęzeł("E");
  62.             Węzeł wG = UtwórzWęzeł("G");
  63.             Węzeł wH = UtwórzWęzeł("H");
  64.             Węzeł wI = UtwórzWęzeł("I");
  65.  
  66.             DodajLewy(wD, wC);
  67.             DodajPrawy(wD, wE);
  68.             DodajLewy(wB, wA);
  69.             DodajPrawy(wB, wD);
  70.  
  71.             DodajLewy(wI, wH);
  72.             DodajPrawy(wG, wI);
  73.  
  74.             DodajLewy(drzewo.korzeń, wB);
  75.             DodajPrawy(drzewo.korzeń, wG);
  76.  
  77.             WyszukajRodzica(drzewo.korzeń, "D", "");
  78.             Console.ReadKey();
  79.         }
  80.     }
  81. }
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement