繁体   English   中英

找到确切位置,然后插入还是添加,然后排序? 哪个更好?

[英]Find exact position then insert or add then sort? Which is better?

我们有一个超过1000个项目的大清单,其中包含大类(相同类型)。 列表的插入或删除非常频繁。 大约插入10或20,一次插入30个项目。 对于每一项,我都会使用快速搜索算法找到要插入的确切位置。 但是我想知道是否将每个项目都添加到列表的末尾,然后使用List.Sort进行排序(我相信MS使用快速排序算法),这样会更好:像当前一样消耗更少的CPU? 我正在使用C#、. Net Framework 2.0。

对于这样的问题,几乎没有一个普遍的答案。 这在很大程度上取决于您的方案。 但这是您提出的两个选择之间的中间建议:

对要插入的项目列表进行排序(这需要根据您的描述对10-30个项目进行排序)。 然后,依次插入这些。 请注意,一旦你找到要插入的第一个项目的位置,该位置插入第二个项目必须是该位置严格(依此类推,每个后续项),所以你不需要搜索再次从开头开始做。 在这种情况下,只需搜索要插入的列表,因为它将在每次插入后保持其顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM