重新读我自己的帖子,我感觉有可能我把问题搞复杂了。
4 u8 |$ n' Z V6 O- w7 N
@7 M% x/ H# M1 F! K( o我说的方法是当需要非常精确的调度每个货位时的方法,这样,每个货位都有一个数组单元对应。 H* [# l( ]* l) K4 x* m
$ B- @0 ]( W% u) Z: K但如果仅仅是按照 X, Y,Z 大类而言,也许并不需要建立这样的数组。
$ M2 C0 G3 E( w3 Y, q
8 Z, @2 c6 A$ T2 b9 m! x2 w0 z(1)如果XYZ 有各自单独的库存,那么仅仅需要三个 Queue 模块,一个模块代表一个货物类型,并且容量是有上限的,凡是 X 的货物直进入到第一个 Queue 模块,Y 进入到第二个模块,Z进入到第三个模块。$ [/ b. _8 W* ~. v4 t( _
5 _8 C6 F4 m- V! Q4 A5 V
(2)如果 XYZ 共享同一的库存,那么仅仅需要一个 Queue, Equation 模块(请注意不是 Queue 模块,单一的 Queue 模块没有办法区分 XYZ不同货物类型)。 不管什么货物都进入到这个模块,然后按照需要从中抽取出不同类型的货物。6 R$ U( |1 h* t" i! g8 s
; K# a6 m9 U l" h节省了全局数组,也可以节省大量的数据更新和编写程序的需要。
0 ^" h* i1 |+ b. y. f3 |* y. ~7 E7 R( l6 [0 [ X, J Z, Z
仅供参考。 |