このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1311089619/18
#  [2] 問題文(含コード&リンク): 
#  http://ime.nu/codepad.org/JJE3ZWnw   
#   
#  
#  [data 25][next ]
#    ↑        ↓
#  [head]    [data 15][next ]
#                          ↓
#                 [data 5][next NULL]    
#  
#  [data 0][next null]
#    ↑
#  [tmp ]
#  
#  5-1 データが0のセルをリストの先頭に追加するにはどのように記述すればよいか
#      必ずhead はリストの先頭を指すこと
#  
#  5-2 データが0のセルをリストの最後に追加(データが5の先)するには
#       どのように記述すればよいか
#  
#  5-3 データが0のセルをデータが25と15の要素の間に追加するには
#       どのように記述すればよいか
#  
#  5-4 データが15のセルをリストから削除するにはどのように記述すればよいか
#  
#  5-5 データが5のセルの次の行き先をリストの先頭アドレスにして環状リストに
#      するにはどのように記述すればよいか

データが0のセルをリストの先頭に追加する(L,[0|L]).

データが0のセルをリストの先頭に追加する(L1,L2) :-
        append(L1,[0],L2).

データが0のセルをデータが25と15の要素の間に追加する(L1,L2) :-
        append(L0,[25,15|R],L1),
        append(L0,[25,0,15|R],L2).

データが15のセルをリストから削除する(L1,L2) :-
        append(L0,[15|R],L1),
        append(L0,R,L2).

'データが5のセルの次の行き先をリストの先頭アドレスにして環状リストにする'(L1,L2) :-
        append(L0,[5|_],L1),
        append(L0,[5|R],L2),
        R = L2.