黑马程序员技术交流社区

标题: 【上海校区】Cache模拟 [打印本页]

作者: 梦缠绕的时候    时间: 2018-11-1 09:39
标题: 【上海校区】Cache模拟
本帖最后由 梦缠绕的时候 于 2018-11-1 09:51 编辑

1.        题目要求
对Cache进行程序模拟操作,Cache最多容纳100个Item,进行新增和淘汰的处理逻辑。
1. Item:Cache item为单向链表结构,每秒钟所有Item的age加1。
2. 新增:每秒钟在队列的随机位置新增1~3个Item。
3. 淘汰:每秒钟至少淘汰一个item。
4. 淘汰条件是:
1) 要么item的age大于10。        
2) 要么Cache已满又无{age>10}的item,则淘汰第一个item。
2.        程序需求:
Cache单向链表中已有50个Item,写简单程序模拟新增和淘汰的过程,至少需模拟200个item的新增或淘汰。
Cache的Item基本结构,参考如下:
Item {         
int  id;                 // itemid
int  age;             // 表示过期时间
item next;             // 单向链表的下一个item
}
3.        举例:
一个单向链表,从第10秒到第11秒,数据链表上有三个变化:
a) 因Age>10、淘汰ID为8 Item
b) 随机位置新增ID为14 Item
c) 所有item age增加了1岁

4.        具体实现:代码清单1

[color=rgb(255, 178, 1) !important]复制代码

代码清单2

[color=rgb(255, 178, 1) !important]复制代码

代码清单3



作者: 不二晨    时间: 2018-11-1 15:47





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2