using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BST
{
class BST
{
class Wezel
{
public int dane;
public Wezel lewe;
public Wezel prawe;
public Wezel(int wartosc)
{
this.dane = wartosc;
lewe = null;
prawe = null;
}
}
class BinarySearchTree
{
public Wezel korzen;
static int zlicz;
public BinarySearchTree()
{
korzen = null;
}
public Wezel dodajWezel(int dane)
{
Wezel tmp = new Wezel(dane);
if (korzen == null)
korzen = tmp;
zlicz++;
return tmp;
}
public void Wstaw(Wezel korzen, Wezel nowyWezel)
{
while (korzen != null)
{
if (nowyWezel.dane > korzen.dane)
{
if (korzen.prawe == null)
{
korzen.prawe = nowyWezel;
break;
}
korzen = korzen.prawe;
}
else
{
if (korzen.lewe == null)
{
korzen.lewe = nowyWezel;
break;
}
korzen = korzen.lewe;
}
}
}
public void inorder(Wezel korzen)
{
if (korzen != null)
{
inorder(korzen.lewe);
Console.Write(korzen.dane + " ");
inorder(korzen.prawe);
}
}
public void preorder(Wezel korzen)
{
if (korzen != null)
{
Console.Write(korzen.dane + " ");
preorder(korzen.lewe);
preorder(korzen.prawe);
}
}
public void postorder(Wezel korzen)
{
if (korzen != null)
{
postorder(korzen.lewe);
postorder(korzen.prawe);
Console.Write(korzen.dane + " ");
}
}
}
static void Main(string[] args)
{
BinarySearchTree bst = new BinarySearchTree();
bst.Wstaw(bst.korzen, bst.dodajWezel(21));
bst.Wstaw(bst.korzen, bst.dodajWezel(19));
bst.Wstaw(bst.korzen, bst.dodajWezel(7));
bst.Wstaw(bst.korzen, bst.dodajWezel(19));
bst.Wstaw(bst.korzen, bst.dodajWezel(16));
bst.Wstaw(bst.korzen, bst.dodajWezel(13));
bst.Wstaw(bst.korzen, bst.dodajWezel(8));
bst.Wstaw(bst.korzen, bst.dodajWezel(22));
Console.WriteLine("Inorder: ");
bst.inorder(bst.korzen);
Console.WriteLine();
Console.WriteLine("Preorder: ");
bst.preorder(bst.korzen);
Console.WriteLine();
Console.WriteLine("Postorder: ");
bst.postorder(bst.korzen);
Console.ReadKey();
}
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}