如何保存特定输入的信息

时间:2016-02-10 19:29:01

标签: c++ arrays input

我想要做的是节省时间。例如,假设您有阵列A.给出了3个输入。 “4,1000,5”。您将在A的索引4和1000之间搜索数字“5”。假设此空间中没有“5”并且您想要保存此信息。因此,在另一个搜索中,当你必须在一个小于4的数字(比如2)和一些大于1000的数字(比如2000)之间搜索5时,你将不会在前一个空格中搜索它。搜索时间将缩短。

我概括了这个问题,我不是在寻找一个只对这个具体例子有效的例子。(你可以这么说)

1 个答案:

答案 0 :(得分:2)

你可以完全按照你的描述去做。创建一个数据类型,包括搜索信息(从索引,到索引,搜索的数字)以及结果(不成功或找到的索引)。对于每次搜索,您都将此信息保存在列表中。启动新搜索时,您可以先检查缓存中是否存在相关内容。如果有,您可以限制搜索空间。

但是,请注意,使用此技术构建的缓存可能会很快失控,并且(如果进行了大量搜索)可能会比阵列本身更大,从而消除了可能的速度增益。我不认为这是优化数组搜索的可行方法。这将仅在非常具体的情况下有效地工作,我可能不会建议将其作为一般优化。