我正在尋找一個適當的結構,將會經常更新的大陣列。謝謝你的幫助! 這是背景: 我想畫一條連續的曲線來表示某個時間段內的聲波。爲了準確性,陣列長度將接近44100(CD格式)。我只想表示最後一秒的波形,所以陣列會更新頻率很高 - 每1/44100秒,第一個元素將被消除並且新的最後一個元素將被插入到數組中。什麼是適當的結構,以存儲一個大陣列,將頻繁更新
爲了避免頻繁的「malloc/realloc/new」,我目前的解決方案是使用一個固定大小爲44100的循環隊列,但不知何故,我不覺得這是最合適的解決方案,如果我想動態調整隊列大小,這將是一項沉重的代價。 這種情況應該是相當頻繁的,我想這個問題可能有一些很好的專利。 謝謝你們!
您需要多長時間調整一次?調整大小時是否需要維護現有數據? –
看看'std :: deque' [here](http://en.cppreference.com/w/cpp/container/deque)。 –
關於性能,我看不出如何使用固定長度的單一分配和索引數學來獲得更高的效率,以瞭解之前和當前的波浪在哪裏停止和開始。考慮到你的使用限制,你需要在什麼條件和頻率下調整這個東西?如果它經常出現,我同意Obvlious船長。保持循環索引使用,但將其放在std :: deque的頂部以調整大小。 – WhozCraig