static void Main(string[] args) { DateTime past = DateTime.Now; BTree <int> tree = new BTree <int>(50); for (int i = 0; i < 10000; i++) { tree.Add(i); } TimeSpan delta = DateTime.Now - past; Console.WriteLine(delta.Seconds); Console.WriteLine("Searching"); int v = -1; do { Console.WriteLine("Key:\n"); var b = int.TryParse(Console.ReadLine(), out v); if (b) { Console.WriteLine(tree.Search(v)); Console.WriteLine("Comparisons : {0}", tree.SearchComparisons); } }while (v != -1); tree.Delete(100); Console.WriteLine(tree.SearchComparisons); Console.ReadKey(); }
static void Main(string[] args) { Random r = new Random(); //Random r = new Random(); List <int> used = new List <int>(); var tree = new BTree(3); for (int i = 0; i < 50; i++) { int newVal; do { newVal = r.Next(0, 50); } while (used.Contains(newVal)); used.Add(newVal); tree.Insert(newVal); //Console.WriteLine(tree); //tree.Print(tree.Root, 0); //Console.WriteLine($"-------{i}------- Dodano: {newVal}"); } Console.WriteLine("Before saving to file."); Console.WriteLine(tree); BTree.WriteToBinaryFile <BTree>("xd", tree); var tree2 = BTree.ReadFromBinaryFile <BTree>("xd"); Console.WriteLine("After reading from file."); Console.WriteLine(tree2); int odp; do { Console.WriteLine("Please select option."); Console.WriteLine("1. Add element, 2. Remove element, 3.Print tree, 4. Exit."); odp = Int32.Parse(Console.ReadLine()); switch (odp) { case 1: try { Console.Write("Enter value to add: "); int x = Int32.Parse(Console.ReadLine()); tree.Insert(x); }catch (Exception e) { } break; case 2: try { Console.Write("Enter value to remove: "); int y = Int32.Parse(Console.ReadLine()); tree.Delete(y); } catch (Exception e) { } break; case 3: Console.WriteLine(tree); break; default: return; } } while (odp != 4); //for (int i = 0; i < 50; i++) //{ // int val = used[i]; // tree.Delete(val); // Console.WriteLine(tree); // Console.WriteLine($"-------{i}------- Usunięto: {val}"); //} Console.ReadKey(); }
static void Main(string[] args) { BTree Btree = new BTree(); bool flag = true; while (flag) { Console.Clear(); Console.WriteLine("Demo: BTree of Integer"); Console.WriteLine("--------------------------------"); Console.WriteLine("1 - Insert node"); Console.WriteLine("2 - Delete node"); Console.WriteLine("3 - Search node"); Console.WriteLine("4 - Traverse Tree In-Order"); Console.WriteLine("5 - Display Tree"); Console.WriteLine("6 - Exit"); Console.WriteLine("--------------------------------"); ConsoleKeyInfo cki = Console.ReadKey(true); switch (cki.Key) { case ConsoleKey.D1: Console.WriteLine("Enter node to insert:"); string insertInput = Console.ReadLine(); if (Int32.TryParse(insertInput, out int insertNode)) { Btree.Insert(insertNode); Console.WriteLine("Node " + insertNode + " has been inserted."); } else { Console.WriteLine("Invalid input. Enter integer number"); } Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; case ConsoleKey.D2: Console.WriteLine("Enter node to delete:"); string deleteInput = Console.ReadLine(); if (Int32.TryParse(deleteInput, out int deleteNode)) { if (Btree.Search(deleteNode) == false) { Console.WriteLine("No such node in the tree"); } else { Btree.Delete(deleteNode); Console.WriteLine("Node " + deleteNode + " has been deleted."); } } else { Console.WriteLine("Invalid input. Enter integer number"); } Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; case ConsoleKey.D3: Btree.PrintTree(); Console.WriteLine("Enter node to search:"); string getInput = Console.ReadLine(); if (Int32.TryParse(getInput, out int getNode)) { if (Btree.Search(getNode) == true) { Console.WriteLine("Node " + getNode + " is present in the tree"); } else { Console.WriteLine("No such node in the tree"); } } else { Console.WriteLine("Invalid input. Enter integer number"); } Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; case ConsoleKey.D4: Console.WriteLine("Current tree In-Order traverse:"); Btree.TraverseInOrder(); Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; case ConsoleKey.D5: Console.WriteLine("Current tree(from left to right):"); Btree.PrintTree(); Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; case ConsoleKey.D6: flag = false; break; default: Console.WriteLine("Invalid menu item, enter numbers 1-4"); Console.WriteLine("\nPress any key..."); Console.ReadLine(); break; } } }