deque

    1熱度

    3回答

    我是用Python的collection.deque玩耍,並寫了下面的基準Python的雙端隊列性能: #!/usr/bin/python import timeit if __name__=='__main__': number = 1000000 for r in (1,10,100,1000,5000,10000,100000): print r

    1熱度

    2回答

    這需要鎖定空閒,因爲它必須在SMP系統的中斷處理程序中運行。我不能鎖。 我有一個連續的數組持有一些值。這個數組中的一些條目是「免費的」,它們沒有被佔用。我想列出這些條目,以便我可以快速分配一個條目。但是,我偶爾需要分配一個任意的條目。 因此,我看到以下將是一個很好的做事方式: 連續數組不僅包含值,還包含左指針和右指針,從而形成一個雙端隊列。只有空白值纔有有效的左/右指針。我可以快速到達任意節點,因

    2熱度

    4回答

    我有一個應用程序,需要存儲一個電壓數據序列,每個條目是類似的一對{時間,電壓} 時間不一定是連續的,如果電壓不動,我不會有任何閱讀。 的問題是,我還需要有查找時間戳,等,getVoltageOfTimestamp(float2second(922.325)) 我的解決辦法是有存儲所述paires,然後每30秒的雙端隊列功能,我做了取樣和索引存儲到地圖 的std ::地圖, 所以裏面getVolta

    1熱度

    6回答

    正如標題所暗示的,我遇到了一個我的程序問題,我使用std :: list作爲堆棧,並且遍歷列表的所有元素。當名單變得非常龐大時,該計劃耗時過長。 有沒有人對此有一個很好的解釋?它是一些堆棧/緩存行爲? (解決通過更改列表到std :: vector和std :: deque的(順便說一個驚人的數據結構),一切問題突然響起如此之快) 編輯:我不是一個傻瓜,我不訪問列表中的元素。我對列表做的唯一事情是

    7熱度

    1回答

    剛纔,我正在閱讀Josuttis的STL書籍。 據我所知 - C++ vector是一個可以重新分配的c數組。所以,我明白,爲什麼在push_back()之後所有迭代器和引用都可能失效。 但我的問題是關於std :: deque。據我所知它是一個大塊數組(c數組的c數組)。因此,push_front()在開始處插入元素,如果沒有空間,則deque分配新塊,並將該元素放置在分配塊的末尾。 在插入()

    0熱度

    3回答

    我在做什麼錯? #include <iostream> #include <deque> using namespace std; struct mystruct { int number1; int number2; }; int main() { std::deque<mystruct> mydeque; mydeque.number

    1熱度

    1回答

    使用http://www.cppreference.com/wiki/stl/deque/insert作爲參考,我在某些位置將值插入到一個deque中。 例如,如果雙端隊列A是: a, b, d, e, g 與一個迭代指向d,我可以: A.insert(iter, c); // insert val c before loc iter //deque is now a, b, c, d, e

    11熱度

    4回答

    我是一個來自C++/STL的相對較新的Java程序員,並且正在尋找一個具有這些特性的類(C++ std :: deque,據我瞭解): O(1),用於在開始/結束的插入/取出性能 O(1)通過指數爲查找性能 是可增長的集合(不需要固定大小邊界) 是否有與此相當的Java?我發現Java 1.6 [ArrayDeque]類具有插入/刪除和可擴展特性,但似乎沒有按索引查找,除非調用toArray(),

    2熱度

    3回答

    我有一個std :: deque的包裝器,用於排隊音頻數據(通過libavcodec進入塊,如果有的話)。 這是需要16位的數據的緩衝器,並將其添加到雙端隊列鎖定/解鎖的 void AVAudioBuffer::enqueue(int16_t* src, size_t num, double pts) { // Save current size of buffer size_