我不知道如何最好地描述这一点。我有一个近80,000字的文本文件,我已将其转换为字符串数组。提供的索引点内的C#搜索数组
基本上我想要一个方法,我把它传给一个单词,并检查它是否在单词字符串数组中。为了保存搜索结果,每次搜索80,000个索引位置时,以每个字母开头的词以二维数组开头和结尾。因此,当'A'字开始并且wordIndex [1,0] = 4407是它们结束的地方时,wordIndex [0,0] = 0。然后wordIndex [0,1] = 4408,这是以'B'开头的单词开始的地方等。
我想知道的是如何将此范围提交给一个方法来让它搜索一个值。我知道我可以给一个指数和长度,但这是唯一的方法吗?我可以说在范围y和z内寻找x?
我会创建一个你调用的方法来搜索这个单词,这会找到指向这个2d数组的索引,并将索引从它中取出来。然后,我会将单词+索引传递给可以对该单词进行二进制搜索的方法。如果你把'STACK'作为一个单词传递,我会从你的数组以及'SU'(S + T之后的S +下一个字母)抓取'ST'索引,然后使用二分搜索在该范围内进行搜索。 –
说了.NET中已经存在像Dictionary或HashSet这样的数据结构,可以用来解决这类问题。 –