平均値からの隔たりによる整列([X|Xs],_平均値,Ys) :- U is X - _平均値, 平均値からの隔たりにより分割する(Xs,U,_平均値,Littles,Bigs), 平均値からの隔たりによる整列(Littles,_平均値,Ls), 平均値からの隔たりによる整列(Bigs,_平均値,Bs), append(Ls,[X|Bs],Ys) . 平均値からの隔たりによる整列([],_,[]).
平均値からの隔たりにより分割する([X|Xs],Y,_平均値,[[U,X]|Ls],Bs) :- U is X - _平均値, U =< Y, 平均値からの隔たりにより分割する(Xs,Y,_平均値,Ls,Bs),!. 平均値からの隔たりにより分割する([X|Xs],Y,_平均値,Ls,[[U,X]|Bs]) :- U is X - _平均値, U > Y, 平均値からの隔たりにより分割する(Xs,Y,_平均値,Ls,Bs) . 平均値からの隔たりにより分割する([],Y,_,[],[]).