重新读我自己的帖子,我感觉有可能我把问题搞复杂了。; P* v& ?+ y# u' J) j
8 g/ X" ]% N, c$ [ g ~
我说的方法是当需要非常精确的调度每个货位时的方法,这样,每个货位都有一个数组单元对应。* Z* q$ D: L. N' Y6 g2 {- F
. g D: g0 E( J2 M6 ~0 ?2 E6 s4 ?
但如果仅仅是按照 X, Y,Z 大类而言,也许并不需要建立这样的数组。9 F7 {5 P0 E4 l) ? T+ y3 k
% W8 t' n' T* z: V* L9 G" l(1)如果XYZ 有各自单独的库存,那么仅仅需要三个 Queue 模块,一个模块代表一个货物类型,并且容量是有上限的,凡是 X 的货物直进入到第一个 Queue 模块,Y 进入到第二个模块,Z进入到第三个模块。, @; E1 o7 h* p; U, n" f: h$ R* T8 ?
1 y* f1 P' b5 `$ R) m8 C) }
(2)如果 XYZ 共享同一的库存,那么仅仅需要一个 Queue, Equation 模块(请注意不是 Queue 模块,单一的 Queue 模块没有办法区分 XYZ不同货物类型)。 不管什么货物都进入到这个模块,然后按照需要从中抽取出不同类型的货物。5 ~, k ?( r& A0 }
' W! k7 u7 x& O节省了全局数组,也可以节省大量的数据更新和编写程序的需要。1 \% k: `( v3 g N/ Y; \
7 o3 n7 l6 A& [# }& j
仅供参考。 |