在列表中查找为prolog中的每个元素找到元素的数字。

时间:2014-05-08 21:58:32

标签: prolog

已尝试实现一个简单的程序,以便在每次遍历元素时查找索引。

indexOf(Found,[Found| T],0).
indexOf(Found,[H| T],Index):- indexOf( Found,T, Newindex),Index is NewIndex+1.

我尝试了这个,但它没有用;基本上我在这里尝试递归,增量。

如果有人能给我一些非常感激的见解。

1 个答案:

答案 0 :(得分:0)

如果您将其写为

,您可能会发现它在长列表中效果更好(或根本没有效果)
index_of(X,L,N) :-
  index_of(X,Xs,0,N) .

index_of( X , [X|_] , N , N ) .
index_of( X , [_|L] , T , N ) :-
  T1 is T+1 ,
  index_of(X,L,T1,N) .