public void InsertTest() { HashTabSepChain a = new HashTabSepChain(); Assert.IsTrue(a.Insert(12)); Assert.IsTrue(a.Insert(56)); Assert.IsTrue(a.Insert(47)); Assert.IsTrue(a.Insert(19)); Assert.IsTrue(a.Insert(89)); Assert.IsTrue(a.Insert(31)); Assert.IsTrue(a.Insert(24)); Assert.IsTrue(a.Insert(79)); a.Print(); }
public void DoubleInsertTest() { HashTabSepChain a = new HashTabSepChain(); a.Insert(12); a.Insert(56); a.Insert(47); a.Insert(19); a.Insert(89); a.Insert(31); a.Insert(24); a.Insert(79); Assert.IsFalse(a.Insert(12)); Assert.IsFalse(a.Insert(79)); a.Print(); }
public void DeleteTest() { HashTabSepChain a = new HashTabSepChain(); a.Insert(12); a.Insert(56); a.Insert(47); a.Insert(19); a.Insert(89); a.Insert(31); a.Insert(24); a.Insert(79); Assert.IsTrue(a.Delete(79)); Assert.IsTrue(a.Delete(56)); Assert.IsTrue(a.Delete(12)); Assert.IsTrue(a.Delete(31)); Assert.IsFalse(a.Delete(100)); a.Print(); }
public void SearchTest() { HashTabSepChain a = new HashTabSepChain(); a.Insert(12); a.Insert(56); a.Insert(47); a.Insert(19); a.Insert(89); a.Insert(31); a.Insert(24); a.Insert(79); Assert.IsTrue(a.Search(12)); Assert.IsTrue(a.Search(56)); Assert.IsTrue(a.Search(47)); Assert.IsTrue(a.Search(19)); Assert.IsTrue(a.Search(89)); Assert.IsTrue(a.Search(31)); Assert.IsTrue(a.Search(24)); Assert.IsTrue(a.Search(79)); Assert.IsFalse(a.Search(100)); a.Print(); }
static void Main() { IDictionary idict = null; bool run = true; int arraySize = 0; while (run) { //Auswahlebene (Wörterbucharten) Console.WriteLine("------Menü------"); Console.WriteLine("Wählen Sie ein Dictionary aus:"); Console.WriteLine("1. IMultiSet"); Console.WriteLine("2. IMultiSetSorted"); Console.WriteLine("3. ISet"); Console.WriteLine("4. ISetSorted"); Console.WriteLine("5. Programm beenden"); int eingabe = -1; bool eingabeGueltig = false; while (!eingabeGueltig) { try { eingabe = Convert.ToInt32(Console.ReadLine()); while (eingabe > 5 || eingabe < 1) { Console.WriteLine("Eingabe ungültig, bitte wählen Sie eine Zahl zwischen 1 und 5."); eingabe = Convert.ToInt32(Console.ReadLine()); } eingabeGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", eingabe); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } if (eingabe == 5) { eingabeGueltig = true; run = false; break; } switch (eingabe) { case 1: Console.WriteLine("Sie haben IMultiSet ausgewählt"); Console.WriteLine("Wählen Sie ein Dictionary aus:"); Console.WriteLine("1. MultiSetUnsortedList"); Console.WriteLine("2. MultiSetUnsortedArray"); eingabeGueltig = false; while (!eingabeGueltig) { try { eingabe = Convert.ToInt32(Console.ReadLine()); while (eingabe > 2 || eingabe < 1) { Console.WriteLine("Eingabe ungültig, bitte Wählen Sie zwischen 1 und 2"); eingabe = Convert.ToInt32(Console.ReadLine()); } eingabeGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", eingabe); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } //Weitere Auswahl switch (eingabe) { case 1: Console.WriteLine("Sie haben MultiSetUnsortedList ausgewählt"); idict = new MultiSetUnsortedLinkedList(); break; case 2: Console.WriteLine("Sie haben MultiSetUnsortedArray ausgewählt"); Console.WriteLine("Wieviele Werte möchten Sie speichern?"); arraySize = Convert.ToInt32(Console.ReadLine()); idict = new MultiSetUnsortedArray(arraySize); break; default: Console.WriteLine("Eingabe ist ungültig"); break; } break; case 2: Console.WriteLine("Sie haben IMultiSetSorted ausgewählt"); Console.WriteLine("Wählen Sie ein Dictionary aus:"); Console.WriteLine("1. MultiSetSortedList"); Console.WriteLine("2. MultiSetSortedArray"); eingabeGueltig = false; while (!eingabeGueltig) { try { eingabe = Convert.ToInt32(Console.ReadLine()); while (eingabe > 2 || eingabe < 1) { Console.WriteLine("Eingabe ungültig, bitte wählen Sie 1 oder 2"); eingabe = Convert.ToInt32(Console.ReadLine()); } eingabeGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", eingabe); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } //weitere Auswahl switch (eingabe) { case 1: Console.WriteLine("Sie haben MultiSetSortedList ausgewählt"); idict = new MultiSetSortedLinkedList(); break; case 2: Console.WriteLine("Sie haben MultiSetSortedArray ausgewählt"); Console.WriteLine("Wieviele Werte möchten Sie speichern?"); arraySize = Convert.ToInt32(Console.ReadLine()); idict = new MultiSetSortedArray(arraySize); break; } break; case 3: Console.WriteLine("Sie haben ISet ausgewählt"); Console.WriteLine("Wählen Sie ein Dictionary aus:"); Console.WriteLine("1. SetUnsortedList"); Console.WriteLine("2. SetUnsortedArray"); Console.WriteLine("3. HashTableQuadProb"); Console.WriteLine("4. HashTableSepChain"); eingabeGueltig = false; while (!eingabeGueltig) { try { eingabe = Convert.ToInt32(Console.ReadLine()); while (eingabe > 4 || eingabe < 1) { Console.WriteLine("Eingabe ungültig, bitte wählen Sie eine Zahl zwischen 1 und 4."); eingabe = Convert.ToInt32(Console.ReadLine()); } eingabeGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", eingabe); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } //weitere Auswahl switch (eingabe) { case 1: Console.WriteLine("Sie haben SetUnsortedList ausgewählt"); idict = new SetUnsortedLinkedList(); break; case 2: Console.WriteLine("Sie haben SetUnsortedArray ausgewählt"); Console.WriteLine("Wieviele Werte möchten Sie speichern?"); arraySize = Convert.ToInt32(Console.ReadLine()); idict = new SetUnsortedArray(arraySize); break; case 3: Console.WriteLine("Es wurde HashTableQuadProb gewählt\nBitte geben sie die Größe der Tabelle ein:"); int maxSizeQuadProb = Convert.ToInt32(Console.ReadLine()); idict = new HashTabQuadProb(maxSizeQuadProb); break; case 4: Console.WriteLine("Es wurde HashTableSepChain gewählt\nBitte geben sie die Größe der Tabelle ein:"); int maxSizeSepChain = Convert.ToInt32(Console.ReadLine()); idict = new HashTabSepChain(maxSizeSepChain); break; default: Console.WriteLine("Ungültige Eingabe"); break; } break; case 4: Console.WriteLine("Sie haben ISetSorted ausgewählt"); Console.WriteLine("Wählen Sie ein Dictionary aus:"); Console.WriteLine("1. SetSortedLinkedList"); Console.WriteLine("2. SetSortedArray"); Console.WriteLine("3. binärer Suchbaum"); Console.WriteLine("4. AVL Baum"); Console.WriteLine("5. Treap"); //eingabe = Convert.ToInt32(Console.ReadLine()); eingabeGueltig = false; while (!eingabeGueltig) { try { eingabe = Convert.ToInt32(Console.ReadLine()); while (eingabe > 5 || eingabe < 1) { Console.WriteLine("Eingabe ungültig, bitte wählen Sie eine Zahl zwischen 1 und 5."); eingabe = Convert.ToInt32(Console.ReadLine()); } eingabeGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", eingabe); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } //weitere Auswahl switch (eingabe) { case 1: Console.WriteLine("Sie haben SetSortedLinkedList ausgewählt"); idict = new SetSortedLinkedList(); break; case 2: Console.WriteLine("Sie haben SetSortedArray ausgewählt"); Console.WriteLine("Wieviele Werte möchten Sie speichern?"); arraySize = Convert.ToInt32(Console.ReadLine()); idict = new SetSortedArray(arraySize); break; case 3: Console.WriteLine("Sie haben Binary Search Tree ausgewählt"); idict = new BinSearchTree(); break; case 4: Console.WriteLine("Sie haben AVL Tree ausgewählt"); idict = new AVLTree(); break; case 5: Console.WriteLine("Sie haben Treap ausgewählt"); idict = new Treap(); break; default: Console.WriteLine("Eingabe ist nicht gültig"); break; } break; } bool agieren; do { //Auswahlebene (Aktionen) Console.WriteLine(); Console.WriteLine("Bitte wählen Sie eine Funktion aus:"); Console.WriteLine("(I)nsert"); Console.WriteLine("(S)earch"); Console.WriteLine("(D)elete"); Console.WriteLine("(P)rint"); Console.WriteLine("(Z)urück zum Hauptmenü"); string aktion = Console.ReadLine(); bool eingGueltig = false; bool feedback = false; int wert = 0; agieren = true; switch (aktion) { //Aktion Insert case "i": case "I": Console.WriteLine("Sie haben Insert ausgewählt"); if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Geben Sie bitte einen Schlüssel ein: "); } else { Console.WriteLine("Geben Sie bitte einen Wert ein: "); } eingGueltig = false; while (!eingGueltig) { try { wert = Convert.ToInt32(Console.ReadLine()); eingGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", wert); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } } feedback = idict.Insert(wert); //Hier wird feedback gesetzt ob die Aktion erfolgreich war oder nicht //Zahl existiert bereits NUR FÜR SET; NICHT MULTISET if (feedback == false) { if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Der eingegebene Schlüssel ist also schon vorhanden!"); } else { Console.WriteLine("Die eingegebene Zahl ist bereits vorhanden!"); } } else { if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { if (HashTabQuadProb.checkOpenSpace() == false) { Console.WriteLine(""); } else { Console.WriteLine("{0} wurde eingefügt", wert); } } else { Console.WriteLine("{0} wurde eingefügt", wert); } } break; //Aktion Search case "s": case "S": Console.WriteLine("Sie haben Search ausgewählt"); if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Bitte geben Sie den Schlüssel ein, der gesucht werden soll:"); } else { Console.WriteLine("Bitte geben Sie die Zahl ein, die gesucht werden soll:"); } eingGueltig = false; while (!eingGueltig) { try { wert = Convert.ToInt32(Console.ReadLine()); eingGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", wert); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } feedback = idict.Search(wert); } if (feedback == true) { if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Schlüssel {0} wurde gefunden", wert); } else { Console.WriteLine("Zahl {0} wurde gefunden", wert); } } else if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Der Schlüssel {0} wurde nicht gefunden", wert); } else { Console.WriteLine("Die Zahl {0} wurde nicht gefunden", wert); } break; //Aktion Delete case "d": case "D": Console.WriteLine("Sie haben Delete ausgewählt"); if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Bitte geben Sie den Schlüssel ein der gelöscht werden soll!"); } else { Console.WriteLine("Bitte geben Sie die Zahl ein, die gelöscht werden soll."); } eingGueltig = false; while (!eingGueltig) { try { wert = Convert.ToInt32(Console.ReadLine()); eingGueltig = true; } catch (OverflowException) { Console.WriteLine("{0} ist zu groß, bitte neue Zahl eingeben!", wert); } catch (FormatException) { Console.WriteLine("Es wurde keine Zahl eingegeben, bitte neue Zahl eingeben"); } feedback = idict.Delete(wert); if (feedback) { if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Der Schlüssel {0} wurde gelöscht", wert); } else { Console.WriteLine("Die Zahl {0} wurde gelöscht", wert); } } else if (idict.GetType().ToString().Equals("HashTabQuadProb") || idict.GetType().ToString().Equals("HashTabSepChain")) { Console.WriteLine("Der Schlüssel {0} wurde nicht gefunden", wert); } else { Console.WriteLine("Die Zahl {0} wurde nicht gefunden", wert); } } break; //Aktion Print case "p": case "P": Console.WriteLine("Sie haben Print ausgewählt"); idict.Print(); break; //Aktion Zurück case "z": case "Z": Console.WriteLine("Sie haben Zurück ausgewählt"); agieren = false; break; default: Console.WriteLine("Eingabe ist nicht gültig"); break; } } while (agieren); } }
static void Start(string[] args) { Console.OutputEncoding = Encoding.Unicode; ConsoleKeyInfo input; ConsoleKeyInfo input2; ConsoleKeyInfo CaseInput; ConsoleKeyInfo input3; while (true) // Outer Loop - Dictionary { Console.Clear(); Banner.PrintBanner(); Banner.PrintDicSuggestions(); input = Console.ReadKey(); if (input.Key == ConsoleKey.D1) { do // Array decision which dictionary { Console.Clear(); Banner.Printbanner1(); Banner.PrintTypeSuggestion(); IDictionary array; ConsoleKeyInfo type = Console.ReadKey(); if (type.Key == ConsoleKey.D1) { array = new MultiSetSortedArray(); } else if (type.Key == ConsoleKey.D2) { array = new MultiSetUnsortedArray(); } else if (type.Key == ConsoleKey.D3) { array = new SetSortedArray(); } else if (type.Key == ConsoleKey.D4) { array = new SetUnsortedArray(); } else if ((type.Key == ConsoleKey.Backspace) || (type.Key == ConsoleKey.Escape)) { break; } else { Console.WriteLine(); Console.WriteLine("input not accepted try again"); Console.ReadKey(); continue; } do // Inner Loop Array { Console.Clear(); Banner.Printbanner1(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = array.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = array.Insert(inputint); if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } try { bool success = array.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } catch (Exception) { Console.WriteLine("Array Empty"); } } else if (input2.Key == ConsoleKey.P) { Banner.PrintPrintMessage(); Console.WriteLine(); array.Print(); } Console.WriteLine("press any key to continue"); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); }while (input.Key != ConsoleKey.Backspace); } if (input.Key == ConsoleKey.D2) { do // Lists decision which dictionary { Console.Clear(); Banner.Printbanner2(); Banner.PrintTypeSuggestion(); IDictionary list; ConsoleKeyInfo type = Console.ReadKey(); if (type.Key == ConsoleKey.D1) { list = new MultiSetSortedLinkedList(); } else if (type.Key == ConsoleKey.D2) { list = new MultiSetUnsortedLinkedList(); } else if (type.Key == ConsoleKey.D3) { list = new SetSortedLinkedList(); } else if (type.Key == ConsoleKey.D4) { list = new SetUnsortedLinkedList(); } else if ((type.Key == ConsoleKey.Backspace) || (type.Key == ConsoleKey.Escape)) { break; } else { Console.WriteLine(); Console.WriteLine("input not accepted try again"); Console.ReadKey(); continue; } do // Inner Loop Array { Console.Clear(); Banner.Printbanner2(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = list.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = list.Insert(inputint); if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = list.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } else if (input2.Key == ConsoleKey.P) { Console.WriteLine(); Banner.PrintPrintMessage(); Console.WriteLine(); list.Print(); } Console.WriteLine("press any key to continue"); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); }while (input.Key != ConsoleKey.Backspace); } if (input.Key == ConsoleKey.D3) { do // BinaryTree decision which dictionary { IDictionary bintree = new BinSearchTree(); do // Inner Loop BinaryTree { Console.Clear(); Banner.Printbanner3(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = bintree.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = bintree.Insert(inputint); if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = bintree.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } else if (input2.Key == ConsoleKey.P) { Console.WriteLine(); Banner.PrintPrintMessage(); Console.WriteLine(); bintree.Print(); } Console.WriteLine("press any key to continue"); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); Console.WriteLine("if you want to go back, press Backspace"); input = Console.ReadKey(); }while (input.Key != ConsoleKey.Backspace); } if (input.Key == ConsoleKey.D4) { IDictionary avltree = new AVLTree(); do // Inner Loop AVL { Console.Clear(); Banner.Printbanner4(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = avltree.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = avltree.Insert(inputint); if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = avltree.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } else if (input2.Key == ConsoleKey.P) { Console.WriteLine(); Banner.PrintPrintMessage(); Console.WriteLine(); avltree.Print(); } Console.WriteLine("press any key to continue"); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); } if (input.Key == ConsoleKey.D5) { Treap treap = new Treap(); do // Inner Loop Treap { Console.Clear(); Banner.Printbanner5(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = treap.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { while (true) //1 rng , 2 own { Console.WriteLine(); Console.WriteLine("Press 1 for random Priorities or 2 for own Priorities"); CaseInput = Console.ReadKey(); if (CaseInput.Key != ConsoleKey.D1 && CaseInput.Key != ConsoleKey.D2) { Console.WriteLine("you did not press 1 or 2, press any key and try again"); Console.ReadKey(); continue; } else { break; } } while (true) { Console.Clear(); Banner.Printbanner5(); Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = false; if (CaseInput.Key == ConsoleKey.D1) { success = treap.Insert(inputint); } else { int inputprio; while (true) { Console.WriteLine("enter your priority as Integer: "); try { inputprio = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } break; } success = treap.Insert(inputint, inputprio); } if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } Console.WriteLine("press Backspace to escape loop"); input3 = Console.ReadKey(); if (input3.Key == ConsoleKey.Backspace) { break; } } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = treap.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } else if (input2.Key == ConsoleKey.P) { Console.WriteLine(); Banner.PrintPrintMessage(); Console.WriteLine(); treap.Print(); } Console.WriteLine("press any key to continue"); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); } if (input.Key == ConsoleKey.D6) { do // Inner Loop Hash { Console.Clear(); Banner.Printbanner6(); Banner.PrintHashType(); IDictionary hashstuff; ConsoleKeyInfo type = Console.ReadKey(); if (type.Key == ConsoleKey.D1) { hashstuff = new HashTabQuadProb(); } else if (type.Key == ConsoleKey.D2) { hashstuff = new HashTabSepChain(); } else if (type.Key == ConsoleKey.Backspace) { break; } else { Console.WriteLine("Input not accepted"); Console.WriteLine("Press any key to try again"); Console.ReadKey(); continue; } do { Console.Clear(); Banner.Printbanner6(); Banner.PrintOperationSuggestions(); input2 = Console.ReadKey(); if (input2.Key == ConsoleKey.S) { Banner.PrintSearchSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = hashstuff.Search(inputint); if (success == true) { Console.WriteLine("found your integer!"); } else { Console.WriteLine("Did not find your integer"); } } else if (input2.Key == ConsoleKey.I) { Banner.PrintInsertSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = hashstuff.Insert(inputint); if (success == true) { Console.WriteLine("successfully inserted " + inputint); } else { Console.WriteLine("could not insert" + inputint); } } else if (input2.Key == ConsoleKey.D) { Banner.PrintDeleteSuggestions(); Console.WriteLine(); int inputint; try { inputint = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Input is not an Integer, press any key and repeat"); Console.ReadKey(); continue; } bool success = hashstuff.Delete(inputint); if (success == true) { Console.WriteLine("successfully deleted " + inputint); } else { Console.WriteLine("could not delete" + inputint); } } else if (input2.Key == ConsoleKey.P) { Console.WriteLine(); Banner.PrintPrintMessage(); Console.WriteLine(); hashstuff.Print(); } Console.WriteLine(); Console.ReadKey(); } while (input2.Key != ConsoleKey.Backspace); //// } while (input.Key != ConsoleKey.Backspace); } //input = Console.ReadKey(); } }