public static void Save(Stream stream, SuffixTree tree) { using (BinaryWriter writer = new BinaryWriter(stream)) { Save(writer, tree); } }
static void Main(string[] args) { string r = "10030000867545fe"; long lng = 0; if (!long.TryParse(r, NumberStyles.HexNumber, CultureInfo.CurrentCulture, out lng)) { Console.WriteLine("Error"); } lng.ToString(); int i = 3; switch (i) { case 5: Console.WriteLine("hit"); break; case 1: return; } SuffixTree t = new SuffixTree("xabaxac"); t.BuildTree(); t.Search("xa"); }
public static void Save(BinaryWriter writer, SuffixTree tree) { writer.Write(SuffixTree.Edges.Count); writer.Write(SuffixTree.theString.Length); writer.Write(SuffixTree.theString); foreach (KeyValuePair <int, Edge> edgePair in SuffixTree.Edges) { writer.Write(edgePair.Key); writer.Write(edgePair.Value.endNode); writer.Write(edgePair.Value.startNode); writer.Write(edgePair.Value.indexOfFirstCharacter); writer.Write(edgePair.Value.indexOfLastCharacter); } }
public static SuffixTree LoadFromFile(BinaryReader reader) { SuffixTree tree; int count = reader.ReadInt32(); int theStringLength = reader.ReadInt32(); string theString = reader.ReadString(); tree = new SuffixTree(theString); for (int i = 0; i < count; i++) { int key = reader.ReadInt32(); Edge readEdge = new Edge(-1); readEdge.endNode = reader.ReadInt32(); readEdge.startNode = reader.ReadInt32(); readEdge.indexOfFirstCharacter = reader.ReadInt32(); readEdge.indexOfLastCharacter = reader.ReadInt32(); SuffixTree.Edges.Add(key, readEdge); } return(tree); }