Haskell快速排序,但对于tupple第二个元素,不使用map、sortby或任何更高的顺序或任何需要导入的内容

Haskell快速排序,但对于tupple第二个元素,不使用map、sortby或任何更高的顺序或任何需要导入的内容,haskell,functional-programming,quicksort,Haskell,Functional Programming,Quicksort,我在internet上找到了这段用于快速排序的代码,我想将其修改为用于元组的第二个元素: sortfreq []=[] sortfreq (x:xs) = sortfreq [y | y <- xs, y <= x] ++ [x] ++ sortfreq [y | y <- xs, y > x] sortfreq[]=[] sortfreq(x:xs)=sortfreq[y | y我们首先需要理解原始代码,然后才能尝试修改它: ——空列表在排序时为空列表 sortfr

我在internet上找到了这段用于快速排序的代码,我想将其修改为用于元组的第二个元素:

sortfreq []=[]
sortfreq (x:xs) =  sortfreq [y | y <- xs, y <= x] ++ [x] ++ sortfreq [y | y <- xs, y > x]
sortfreq[]=[]

sortfreq(x:xs)=sortfreq[y | y我们首先需要理解原始代码,然后才能尝试修改它:

——空列表在排序时为空列表
sortfreq[]=[]
sortfreq(x:xs)=
--我们只对小于或等于枢轴的元素进行排序
sortfreq[y | y
sortfreq ((a,b):xs) =  sortfreq [y | y <- xs, y <= (a,b)] ++ [(a,b)] ++ sortfreq [y | y <- xs, y > (a,b)]