このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1309076891/653
#  【 課題 】ttp://edu.net.c.dendai.ac.jp/ad1/2011/kadai.html 
#  【 形態 】1. Javaアプリケーション(main()で開始) 
#  【 GUI  】制限なし 
#  【 期限 】1/10 20:00まで 
#  【 Ver  】java version "1.6.0_21" 
#  【 補足 】前にも書かれてますが、課題2-4だけでいいのでお願いします。 
# 
# 

:- abolish(木/3).

根([],[],[]).

'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([]) :- !.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        retract(根(_,_,[])),
        assertz(根([],[],N)),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        根(_左,[],_根),
        N @> _根,
        retract(根(_左,[],_根)),
        assertz(根(_左,N,_根)),
        assertz(木([],[],N)),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        根(_左,_右,_根),
        N @> _根,
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_右,N),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        根([],_右,_根),
        N @< _根,
        retract(根([],_右,_根)),
        assertz(根(N,_右,_根)),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_左,N),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        根(_左,_右,_根),
        N @< _根,
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_左,N),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R).
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([N|R]) :-
        根(_,_,N),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(R).


'順序木を利用し、キーの値で値を整列するデータ構造を作成する'([],N) :-
        assertz(木([],[],N)),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'(M,N) :-
        N @> M,
        retract(木(_左,[],M)),
        assertz(木(_左,N,M)),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_右,N),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'(M,N) :-
        N @> M,
        木(_左,_右,M),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_右,N),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'(M,N) :-
        N @< M,
        retract(木([],_右,M)),
        assertz(木(N,_右,M)),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_左,N),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'(M,N) :-
        N @< M,
        木(_左,_右,M),
        '順序木を利用し、キーの値で値を整列するデータ構造を作成する'(_左,N),!.
'順序木を利用し、キーの値で値を整列するデータ構造を作成する'(M,M).