首先让我解释一下我想做什么。我有n个数据元素。每个元素都需要与其他元素一起检查,而不是与自身一起检查。如果一切正常,则检查元素的函数返回true。如果出现错误,函数将删除这两个元素并用新元素替换它们。但是新的也需要和其他元素一起检查这将重复,直到每一个元素都相互检查,并且所有检查都正常。
我在问如何以最有效的方式设置数据结构当我用所有其他n元素测试ele1时,所有元素都很好,然后用ele84测试ele2,两个元素都被替换,我需要再次检查ele1和ele2,如果现在不好,我需要再次检查ele1的所有元素。但是,如何以最有效的方式记住哪些元素需要检查,哪些不需要避免对元素的双重检查?
最佳答案
您可以使用三个列表:main、currentnew和nextnew
main用元素初始化-使用嵌套循环检查所有元素,如果删除了任何元素,则将新元素添加到nextnew
在下一次迭代中,next new变为CurrentNew-分配一个新的NextNew列表首先使用嵌套循环将currentnew的所有元素与currentnew的其他元素一起检查,然后将main的元素与currentnew的元素一起检查。新元素转到nextnew。请注意,您没有将main的元素与main的其他元素进行检查-您已经知道它们彼此有效。
在下一次以及以后的每次迭代中,将currentnew合并到main中,然后nextnew变为currentnew,重复直到所有元素都有效。