我有一个学校项目,我必须根据用餐偏好采取人员和座位。例如,假设我有以下人员:对Prolog中的列表进行排序
鲍勃:喜欢的食物A,B,C,d,E
卡罗尔:喜欢的食物B,E,d,C,A
罗纳德:喜欢的食物E,A,C,B,d
斯泰西:喜欢的食物A,E,B,d,C
食物的顺序对应自己的喜好,第一食品是他们最喜欢的,最后被最小。理想的顺序是鲍勃,斯泰西,卡罗尔,罗纳德。它将分享最喜欢的食物的人和按照喜好按字母顺序排列的人坐在一起。
我的解决方法是将字母A-E分配给1-5。从那里,我想建立一个列表,其中包含与食物相对应的数字。从那里我将根据逻辑来对列表进行排序,比较每个子列表的第一个元素,并且如果它们相同,则比较第二个和第二个元素。
虽然我在建立列表主列表时遇到困难。我会如何去做这件事?还是有更好的方法来解决这个问题?