簡體   English   中英

在添加值時保持相同的數組大小

[英]keeping same array size while adding values

我正在嘗試一種方法來將命令歷史記錄保留在大小為[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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM