Untitled
unknown
plain_text
a year ago
3.8 kB
6
Indexable
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Drzewo { public class Wierzcholek { private int Wartosc; private Wierzcholek Lewy; private Wierzcholek Prawy; public Wierzcholek(int x) { Wartosc = x; Lewy = null; Prawy = null; }//Koniec konstruktora public void Dopisz(int x) { Random generator; double losowa; generator = new Random(); losowa = generator.Next(); if (losowa < 0.5) //idziemy do lewego { if (Lewy == null) { Lewy = new Wierzcholek(x); } else { Lewy.Dopisz(x); }//end if } else //idziemy do prawego { if (Prawy == null) { Prawy = new Wierzcholek(x); } else { Prawy.Dopisz(x); }//end if }//end if }//Koniec dopisywania public void preOrder() { Console.Write(Wartosc + " "); if (Lewy != null) { Console.Write("L"); //Po modyfikacji Lewy.preOrder(); } else { Console.Write("*L"); }//end if if (Prawy != null) { Console.Write("P"); Prawy.preOrder(); } else { Console.Write("*P"); }//end if }//Koniec preorder public void inOrder() { if (Lewy != null) Lewy.inOrder(); Console.Write(Wartosc + " "); if (Prawy != null) Prawy.inOrder(); }//Koniec inorder public void postOrder() { if (Lewy != null) Lewy.postOrder(); if (Prawy != null) Prawy.postOrder(); Console.Write(Wartosc + " "); }//Koniec postOrder public void Usun() { if (Lewy != null) Lewy.Usun(); if (Prawy != null) Prawy.Usun(); Lewy = null; Prawy = null; }//Koniec usuwania //RBT = Random Binary Tree static void Main(string[] args) { Wierzcholek korzen; int N; int i; int max; int liczba; Random generator; max = 101; N = 15; generator = new Random(); korzen = null; for (i = 0; i < N; i++) { liczba = generator.Next(max); if (korzen == null) { korzen = new Wierzcholek(liczba); } else { korzen.Dopisz(liczba); }//end if }//next i Console.WriteLine("preOrder:"); korzen.preOrder(); Console.WriteLine(); Console.WriteLine("inOrder:"); korzen.inOrder(); Console.WriteLine(); Console.WriteLine("postOrder:"); korzen.postOrder(); Console.WriteLine(); Console.WriteLine("Usunięcie drzewa:"); korzen.Usun(); korzen.preOrder(); Console.WriteLine(); Console.ReadKey(); }//Koniec main } }//Koniec klasy
Editor is loading...
Leave a Comment