簡體   English   中英

序言列表謂詞

[英]Prolog List predicate

對PROLOG來說還很陌生,我對此列表有疑問。

我需要一個謂詞( sublist(X,Y ),如果列表X是列表Y的子列表,則為true。該子列表是原始列表,順序相同,但是某些元素可能已被刪除,例如,一些示例用戶輸入為:

?- sublist([a,b],[a,e,b,d,s,e]).
Yes

?- sublist([a,b],[a,e,e,f]).
No

?- sublist([a,b],[b,a]).
No

?- sublist(X,[a,b,c]).
X = [] ;
X = [a] ;
X = [a, b] ;
X = [a, b, c] ;
X = [a, c] ;
X = [b] ;
X = [b, c] ;
X = [c] ;
No
sublist( [], _ ).
sublist( [X|XS], [X|XSS] ) :- sublist( XS, XSS ).
sublist( [X|XS], [_|XSS] ) :- sublist( [X|XS], XSS ).

得到它了! 這對列表中的子序列和非子序列均適用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM