一、题目
某商场经销一种货物。货物购进和卖出均以箱为单位,各箱的重量不一样,因此,商场需要记录目前库存总重量,现在请使用c++模拟商场货物购进和卖出的场景;
二、分析问题
《1》场景模拟:
《2》选择数据模型:
通过上述场景模拟,我们知道,如果要将库房中的货物卖出或者重新购置货物,需要考虑一下几个因素:
- 1、当库房中没有货物时,不可以卖出。
- 2、当购买一个货物时,需要把它放在库房的哪个位置,这就需要考虑到以下三点:
- 2.1、考虑到货物的保质期,应将先购入的货物先卖出;
- 2.2、如果当前库房不为空,那么,在购入货物时,放有货物的地方,尽量勿挪动来存放新的货物;
- 2.3、如果当前库房为空,那么可以随便放一个位置
根据上述的需要,那么,我们自然而然的就想到了链表这种数据结构,当购置货物时,就往链表的末尾插入一个节点,当卖出货物时,相当于删除链表的第一个结点,模拟结构如下:
(1)、原始状态: