我有一個恆定大小的數組x(通常大約100-200個條目),並且希望將常數較小的數組y(通常在2-10個條目之間)添加到頭部,而在最後去除相同的大小。例如:添加元素到數組的頭部,同時從尾部刪除
緩衝液: X = [6 5 4 3 2 1]
新陣列在前面加: Y = [8 7]
所得緩衝液: X = [8 7 6 5 4 3]
等等...
注:我需要使用一個常規的C陣列和需要能夠訪問整個陣列,不僅頭部或尾部。該數組非常小,但該函數經常被調用,所以我正在尋找一種不需要任何過多內存任務的解決方案。數組x和y在每一步中總是具有相同的大小。
這是一個緩衝區,循環/環形緩衝區,隊列還是FIFO?我真的不知道這個應用程序的正確搜索詞是什麼。
語言爲C.
聽起來像你描述的循環緩衝區。搜索了! – Brian
與其移動大量數據,不如使用環形緩衝區並覆蓋過時的元素。 –
[隊列使用數組]可能重複(http://stackoverflow.com/questions/25346192/queue-using-arrays) – djechlin