10/01/20 19:59:07
>>351
% Prolog
'リストの指定した位置(末尾以外)にノードを挿入する'(_指定した位置,Node,_リスト,_挿入されたリスト) :-
insert_node(_指定した位置,Node,_リスト,_挿入されたリスト).
insert_node(_,_,[],_) :- !,fail.
insert_node(0,Node,_リスト,[Node|_リスト]) :- !.
insert_node(_指定した位置,Node,[A|R1],[A|R2]) :-
_指定した位置の一 is _指定した位置 - 1,
insert_node(_指定した位置の一,Node,R1,R2).
リストの指定した位置のノードを削除する(_指定した位置,_リスト,_指定した位置のノードが削除されたリスト) :-
delete_node(_指定した位置,_リスト,_指定した位置のノードが削除されたリスト).
delete_node(1,[_|R],R) :- !.
delete_node(_指定した位置,[A|R1],[A|R2]) :-
_指定した位置の一 is _指定した位置 - 1,
delete_node(_指定した位置の一,R1,R2).