このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1258158172/677
#  [1] 授業単元:プログラミング演習  
#  [2]
#  5.以下の英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示するプログラムを作成せよ。すべての4文字の単語であることを利用してもよい。 
#   
#  mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb 
#   
#  http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10230.txt
# 

英単語ならび([mane, malt, mama, mark, mare, maid, made, mach, many, mess, meat, neat, like, lime, limb]). 

'英単語を辞書順に(アルファベット順に)ソートによって並べ替えて表示する' :- 
    英単語ならび(L1), 
    '英単語を辞書順に(アルファベット順に)ソートによって並べ替える'(L1,[],L2), 
    writeln(L2). 

'英単語を辞書順に(アルファベット順に)ソートによって並べ替える'([],L,L) :- !. 
'英単語を辞書順に(アルファベット順に)ソートによって並べ替える'([_単語|R],L1,L2) :- 
    小さい順整列ならびに文字列挿入(_単語,L1,L2), 
    '英単語を辞書順に(アルファベット順に)ソートによって並べ替える'(R,L2,L). 

小さい順整列ならびに文字列挿入(_文字列,[],[_文字列]) :- !. 
小さい順整列ならびに文字列挿入(_文字列,[A|R],[_文字列,A|R]) :- _文字列 @< A,!. 
小さい順整列ならびに文字列挿入(_文字列,[A|R1],[A|R2]) :- _文字列 @>= A,小さい順整列ならびに文字列挿入(_文字列,R1,R2).