是否存在用于存储定期或重复日期的已发布数据结构?可以处理的事情:
我认为cron
的内部数据结构可以处理#1,#4,#5(两个规则),也许#2,但我还没有看过它。 MS Outlook和其他日历似乎能够处理前五个,但我没有源代码。
答案 0 :(得分:6)
答案 1 :(得分:0)
由于您指定重复发生的方式存在所有这些变化,我会回避单一数据结构实现以适应所有5种情况。
相反,我会(以及之前的项目)构建简单的结构来解决每种类型的重复。你可以将它们全部包起来,使它感觉像一个单一的数据结构,但在引擎盖下,它们可以做任何他们喜欢的事情。通过实现一个接口,我能够类似地处理每种类型的重复,因此它感觉像一个通用的数据结构。我可以在一定的时间范围内询问任何实例的所有重复日期,这样就可以了。
在确定具体实施方案之前,我还想了解更多关于如何使用这些日期的信息。
答案 2 :(得分:0)
如果你想动手创建数据结构,我建议使用一个哈希表(假日或事件是新日期出现的键作为值),如果每次出现都有多重性,你可以哈希查找链接列表中某个部分的值,该部分随后包含所有匹配项的列表(这将使查找和插入运行在O(1)中)。