我有以下列表: [[1,1,3],[1,2,7],[1,3,9],[2,1,2],[2,2,7],[3,1,4]]
。 我只對列表中每個元素的前兩個組件感興趣。爲了讓它正確,我知道我缺少一個組件,例如,[2,3,2]
。我可以確定列表中(a,b,c)中b的最大值。我想將缺失的元素插入到正確的位置。在列表中插入缺失的元素
我已經開始用:
work_list([],_,_,_).
work_list([[A,B,_]|F],Alast,Blast,Max):-
A==Alast, work_list(F,A,B,M).
work_list([[A,B,_]|F],Alast,Blast,Max):-
A>Alast, Blast<Max, work_list_miss(F,Alast,Blast,Max).
work_list_miss(F,Alast,Blast,Max):-
Blast<Max, Blast1 is Blast+1, add_list([Alast,Blast,1],F,FNew).
work_list_miss(F,Alast,Blast,Max):-
Blast=Max, Blast1, add_list([Alast,Blast,1],F,FNew), worklist(F,Alast,Blast,Max).
add_list(A,B,[A|B]).
它不工作。任何人都可以提供幫助嗎?上市時應顯示: [[1,1,3],[1,2,7],[1,3,9],[2,1,2],[2,2,7],[2,3,1],[3,1,4]]
謝謝!
什麼謂詞調用你做什麼你的意思是「它不工作」? – lurker
你可以改正你的代碼刪除單身人士和未定義的調用,然後重試... – CapelliC
我的意思是我沒有得到我顯示的列表結果。 – user3038679