将X插入排序列表中的正确位置

时间:2012-01-25 14:25:48

标签: prolog

在prolog中如何将X插入排序列表中的正确位置?

我的尝试:

insert(X,[Y|Rest],[X,Y|Rest]):-
X @< Y;
insert(X,Rest,BiggerRest).

1 个答案:

答案 0 :(得分:4)

你走在正确的轨道上,但你需要做出这三种情况。

insert(X, [], [X]).
insert(X, [Y|Rest], [X,Y|Rest]) :-
    X @< Y, !.
insert(X, [Y|Rest0], [Y|Rest]) :-
    insert(X, Rest0, Rest).