static void Main(string[] args) { #region strings sorts /*string[] strs = new string[] { "4PGC938", "2IYE230", "3CIO720", "1ICK750", "1OHV845", "4JZY524", "1ICK750", "3CIO720", "1OHV845", "1OHV845", "2RLA629", "2RLA629", "3ATW723" }; strs.Show(); Console.WriteLine(); //LSD.sort(strs,7); //MSD.sort(strs); Quick3string.sort(strs); strs.Show();*/ #endregion #region Tries TrieST<int> tst = new TrieST<int>(); tst.put("by", 4); tst.put("sea", 2); tst.put("sells", 1); tst.put("she", 0); tst.put("shells", 3); tst.put("the", 5); foreach (var key in tst.keys()) { Console.WriteLine(key); } #endregion Console.ReadKey(); }
void TrieSTStart() { string[] strs = txt.text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); // build symbol table from standard input TrieST <int> st = new TrieST <int>(); for (int i = 0; i < strs.Length; i++) { string key = strs[i]; st.put(key, i); } // print results if (st.size() < 100) { string str = "keys(\"\"):"; foreach (string key in st.keys()) { str += ("\t" + key + " " + st.get(key)); } print(str); } print("longestPrefixOf(\"shellsort\"):"); print(st.longestPrefixOf("shellsort")); print("longestPrefixOf(\"quicksort\"):"); print(st.longestPrefixOf("quicksort")); print("keysWithPrefix(\"shor\"):"); foreach (string s in st.keysWithPrefix("shor")) { print(s); } print("keysThatMatch(\".he.l.\"):"); foreach (string s in st.keysThatMatch(".he.l.")) { print(s); } }