在序言中,如何编写Quicksort是使用第二元素作为枢纽?

时间:2019-12-01 09:15:33

标签: prolog quicksort

在我的示例中,我已经完成将给定列表的第一个(最左侧)元素用作枢轴。

qsort([],[]):- !.
qsort([Pivot|Tail],Sorted):-
        split(Pivot,Tail,Less,Greater),
        qsort(Less,SortedLess),
        qsort(Greater,SortedGreater),
        append(SortedLess,[Pivot|SortedGreater],Sorted).
split(_,[],[],[]).
split(Pivot,[X|T],[X|Less],Greater):-
        X=<Pivot,split(Pivot,T,Less,Greater).
split(Pivot,[X|T],Less,[X|Greater]):-
        X>Pivot,split(Pivot,T,Less,Greater).

但是,我想知道如何将第二个元素用作数据透视

0 个答案:

没有答案