Inserting X in its correct position in a sorted list

♀尐吖头ヾ 提交于 2020-01-02 16:23:09

问题


In prolog how do I insert X in its correct position in a sorted list?

My Attempt:

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

回答1:


You're on the right track, but you need to make this three cases.

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


来源:https://stackoverflow.com/questions/9004265/inserting-x-in-its-correct-position-in-a-sorted-list

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!