我在 Prolog 中有这样的数据结构:
racks =
[
[
(1-1), 1,
[
shelf((0-0), 1, [ware_a:[0,10]]),
shelf((0-1), 2, []),
shelf((0-2), 3, [])
]
],
[
(2-1), 2,
[
shelf((0-0), 4, []),
shelf((0-1), 5, []),
shelf((0-2), 6, [])
]
].
一个机架具有坐标 (xy)(例如 (1-1))、成本值和货架列表。货架本身具有相同的坐标(在货架内)、成本值和内容列表(商品,位于货架上)。
现在,在我的程序执行期间,可能会混淆机架或架子的顺序。
例如:
racks =
[
(2-1), 2,
[
shelf((0-0), 4, [ware_c:[50,100]]),
shelf((0-1), 5, []),
shelf((0-2), 6, [])
]
],
[
[
(1-1), 1,
[
shelf((0-1), 2, [ware_b:[1,2], ware_a:[10,20]]),
shelf((0-0), 1, [ware_a:[0,10]]),
shelf((0-2), 3, [])
]
].
现在,我正在寻找对这些列表进行排序的可能性。它们(架子和其中的架子)应按成本值排序(坐标无关紧要)。
我怎样才能做到这一点?!
我在Prolog中对列表进行排序方面没有太多经验,所以我想让你们问,伙计们!
谢谢你的帮助!!