簡體   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