7
我有一個鏈接列表,我要排序的一部分,例如:部分種類的std ::的名單
std::sort(someIterator, otherIterator, predicate);
的std ::排序需要隨機訪問迭代所以這種方法是行不通的。有一個專門的std :: list :: sort,但只能對整個列表進行排序。我認爲我沒有足夠的權限去列表成員自己寫一些東西。
有沒有辦法做到這一點,而不改變,例如,矢量?
和你使用列表而不是向量的主要原因是什麼?儘管事實上std :: vector必須在avg上執行移動。半個元素(例如,刪除時),由於緩存的原因,它速度非常快。 std :: vector甚至在頻繁刪除並在rand上插入時也會跳過std :: list。 POS機。你必須有很多元素才能通過使用列表獲利。 – relaxxx 2012-04-27 18:24:35
老實說,我不記得了,因爲在我問了三年半之後,我確定它已經被重構了,不管怎樣,我早就離開了那份工作。問題的關鍵不在於效率(儘管有足夠的數據我不想在飛行中全部複製),但更多的只是好奇心;似乎很奇怪,我似乎無法做到這一點,並且應該有某種方式來實現它。 – Peter 2012-04-27 19:58:03