我剛剛實現了我自己的類來高效地從數組中刪除,但是我想要查看是否有類似的東西已經存在。我想要的是類似列表的訪問效率,但使用數組。我想使用一個數組,因爲緩存一致性,所以我不必一直調用內存分配器(因爲在分配節點時使用std :: list)。一個索引集(用於向量中的高效去除)
我想要做的是創建一個有兩個數組的類。第一個是一組元素,第二個數組是一組整數,其中每個整數是第一個數組中的空閒時隙。所以我可以相當容易地添加/刪除數組中的元素,而無需爲它們分配新的內存,只需從空閒列表中獲取索引並將其用於新元素即可。
這樣的事情是否已經存在?如果我自己做,我也必須製作自己的迭代器,所以你可以迭代集合,避免陣列中的任何空插槽,我不會很喜歡這個。
謝謝。
注:實物操作我想在集執行是:
- 迭代
- 單個元素的隨機存取,通過索引(或「處理」,因爲我想它)在該組
- 添加元素與集(順序不重要)
['std :: deque'](http://en.cppreference.com/w/cpp/container/deque)怎麼樣? –
想到這一點,但德克是快速插入/刪除任何一端,但不是在中間?在一般情況下,我總體上預計隨機訪問類型的使用模式。 – Robinson
添加了關於該筆記的註釋。 – Robinson