0
我試圖想辦法保持命令的歷史大小的數組[10],並同時保持其尺寸不變,始終顯示最後10個命令。是否有一個不涉及隊列或列表的實現?也許是這樣,給陣列更多的空間,並填寫命令,但打印不同的索引?我在Windows機器上使用C.保持相同的陣列尺寸,同時增加值
我試圖想辦法保持命令的歷史大小的數組[10],並同時保持其尺寸不變,始終顯示最後10個命令。是否有一個不涉及隊列或列表的實現?也許是這樣,給陣列更多的空間,並填寫命令,但打印不同的索引?我在Windows機器上使用C.保持相同的陣列尺寸,同時增加值
只是把你的陣列就像一個環形緩衝區,並保持一個cur
變量指向在最近的條目。
要添加一個條目:
cur = (cur + 1) % size;
到陣列中的打印一切:
printf("%d\n", cur);
for (i = (cur + 1) % size; i != cur; i = (i + 1) % size)
printf("%d\n", i);
你想要一個circular buffer。有很多實現在鋪設。
我應該發佈我的代碼,如果它是可能的嗎? – serge 2013-02-21 13:54:04
@ voth1234你爲什麼要發佈您的代碼?有什麼你不明白的嗎? – cnicutar 2013-02-21 13:54:53
是的,基本上。價值觀的轉變如何發生? – serge 2013-02-21 14:02:28