คำถามติดแท็ก fifo

14
คิวขนาดคงที่ซึ่ง dequeues ค่าเก่าโดยอัตโนมัติตาม enques ใหม่
ฉันใช้ConcurrentQueueสำหรับโครงสร้างข้อมูลที่ใช้ร่วมกันซึ่งมีจุดประสงค์เพื่อเก็บวัตถุ N สุดท้ายที่ส่งผ่านไปยังมัน (ชนิดของประวัติ) สมมติว่าเรามีเบราว์เซอร์และเราต้องการมี URL ที่เรียกดู 100 รายการล่าสุด ฉันต้องการคิวที่วาง (dequeue) รายการที่เก่าที่สุด (แรก) โดยอัตโนมัติเมื่อมีการแทรกรายการใหม่ (enqueue) เมื่อความจุเต็ม (100 ที่อยู่ในประวัติ) ฉันจะทำสิ่งนั้นให้สำเร็จได้System.Collectionsอย่างไร?
121 c#  queue  fifo 

8
ฉันควรใช้คอนเทนเนอร์ STL ใดสำหรับ FIFO
คอนเทนเนอร์ STL ใดที่เหมาะกับความต้องการของฉันมากที่สุด โดยพื้นฐานแล้วฉันมีคอนเทนเนอร์กว้าง 10 องค์ประกอบซึ่งฉันมีpush_backองค์ประกอบใหม่อย่างต่อเนื่องในขณะที่ใช้องค์ประกอบที่pop_frontเก่าแก่ที่สุด (ประมาณหนึ่งล้านครั้ง) ฉันกำลังใช้ a std::dequeสำหรับงานนี้ แต่สงสัยว่า a std::listจะมีประสิทธิภาพมากกว่านี้หรือไม่เพราะฉันไม่จำเป็นต้องจัดสรรตัวเองใหม่ (หรือบางทีฉันอาจเข้าใจผิดว่าเป็นstd::dequea std::vector?) หรือมีคอนเทนเนอร์ที่มีประสิทธิภาพมากกว่าสำหรับความต้องการของฉันหรือไม่? ปล. ฉันไม่ต้องการการเข้าถึงแบบสุ่ม
93 c++  stl  fifo 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.