public void PushBST(int wartosc, Wezel w) { if (wartosc >= w.wartosc) { if (w.prawe == null) { w.prawe = new Wezel(wartosc); } else { PushBST(wartosc, w.prawe); } } else { if (w.lewe == null) { w.lewe = new Wezel(wartosc); } else { PushBST(wartosc, w.lewe); } } }
public void Push(int n) { Wezel dziecko = new Wezel(n); if (korzen == null) { korzen = dziecko; return; } else { Wezel rodzic = ZnajdzRodzica(lenght); if (lenght % 2 == 1) { rodzic.lewe = dziecko; } else { rodzic.prawe = dziecko; } dziecko.rodzic = rodzic; lenght++; SortujKopiec(dziecko); } }
Wezel ZnajdzRodzica(int len) { List <int> droga = new List <int>(); int n = len; while (n > 0) { n--; n = n / 2; droga.Add(n); } Wezel Rodzic = korzen; droga.Reverse(); for (int i = 1; i < droga.Count; i++) { if (droga[i] % 2 == 1) { Rodzic = Rodzic.lewe; } else { Rodzic = Rodzic.prawe; } } return(Rodzic); }
public void ShowPOST(Wezel w) { if (w == null) { return; } ShowPOST(w.lewe); ShowPOST(w.prawe); Post.Add(w.wartosc); }
public void ShowIN(Wezel w) { if (w == null) { return; } ShowIN(w.lewe); In.Add(w.wartosc); ShowIN(w.prawe); }
public void ShowPRE(Wezel w) { if (w == null) { return; } Pre.Add(w.wartosc); ShowPRE(w.lewe); ShowPRE(w.prawe); }
void ShowNode(Wezel node, TreeNode treeNode) { treeNode.Text += node.wartosc; if (node.lewe != null) { ShowNode(node.lewe, treeNode.Nodes.Add("Lewe: ")); } if (node.prawe != null) { ShowNode(node.prawe, treeNode.Nodes.Add("Prawe: ")); } }
void SortujKopiec(Wezel n) { if (n.rodzic == null) { return; } else { if (n.wartosc > n.rodzic.wartosc) { int pom = n.wartosc; n.wartosc = n.rodzic.wartosc; n.rodzic.wartosc = pom; SortujKopiec(n.rodzic); } } }
public void Push(int wartosc) { var dziecko = new Wezel(wartosc); var rodzic = this.ZnajdzRodzica(this.Length); dziecko.rodzic = rodzic; if (this.Length % 2 == 1) { rodzic.lewe = dziecko; } else { rodzic.prawe = dziecko; } this.Length++; this.JakGlebokie(); }
void Sort(Wezel rodzic) { if (rodzic == null) { return; } if (rodzic.lewe == null && rodzic.prawe == null) { return; } if (rodzic.lewe != null && rodzic.prawe == null) { if (rodzic.wartosc < rodzic.lewe.wartosc) { int x = new int(); x = rodzic.wartosc; rodzic.wartosc = rodzic.lewe.wartosc; rodzic.lewe.wartosc = x; } Sort(rodzic.lewe); return; } if (rodzic.lewe == null && rodzic.prawe != null) { if (rodzic.wartosc < rodzic.prawe.wartosc) { int x = new int(); x = rodzic.wartosc; rodzic.wartosc = rodzic.prawe.wartosc; rodzic.prawe.wartosc = x; } Sort(rodzic.prawe); return; } if (rodzic.lewe != null && rodzic.prawe != null) { if (rodzic.lewe.wartosc > rodzic.prawe.wartosc) { if (rodzic.wartosc < rodzic.lewe.wartosc) { int x = new int(); x = rodzic.wartosc; rodzic.wartosc = rodzic.lewe.wartosc; rodzic.lewe.wartosc = x; } } else { if (rodzic.wartosc < rodzic.prawe.wartosc) { int x = new int(); x = rodzic.wartosc; rodzic.wartosc = rodzic.prawe.wartosc; rodzic.prawe.wartosc = x; } } Sort(rodzic.lewe); Sort(rodzic.prawe); return; } }
void Zmianawartosci(Wezel n) { if (n.lewe == null & n.prawe == null & n == korzen) { korzen = null; return; } if (n.lewe != null && n.prawe != null) { if (n.prawe.wartosc > n.lewe.wartosc) { n.wartosc = n.prawe.wartosc; if (n.prawe.prawe == null & n.prawe.lewe == null) { n.prawe = null; } else { Zmianawartosci(n.prawe); } } else { n.wartosc = n.lewe.wartosc; if (n.lewe.prawe == null & n.lewe.lewe == null) { n.lewe = null; } else { Zmianawartosci(n.lewe); } return; } } if (n.lewe != null && n.prawe == null) { n.wartosc = n.lewe.wartosc; if (n.lewe.prawe == null & n.lewe.lewe == null) { n.lewe = null; } else { Zmianawartosci(n.lewe); } return; } if (n.lewe == null && n.prawe != null) { n.wartosc = n.prawe.wartosc; if (n.prawe.prawe == null & n.prawe.lewe == null) { n.prawe = null; } else { Zmianawartosci(n.prawe); } return; } }
public Kopiec(Wezel korzen) { this.korzen = korzen; }
public Drzewo(int wartosc) { this.korzen = new Wezel(wartosc); this.Length = 1; this.glebokosc = 0; }