だから、何すれば分からないならHaskellだって。
データ構造やアルゴリズムの勉強にこれ以上分かり易い言語は無い。

Haskell でクイックソート

qsort [] = []
qsort [x] = [x]
qsort (x:xs) = qsort [s | s <- xs, s < x] ++ [x] ++ qsort [b | b <- xs, x <= b]

例:

qsort [3,5,1,4,2]
= qsort [1,2] ++ [3] ++ qsort [5,4]
= qsort [1] ++ [2] ++ qsort [] ++ [3] ++ qsort [4] ++ [5] ++ qsort []
= [1] ++ [2] ++ [] ++ [3] ++ [4] ++ [5] ++ []
= [1,2,3,4,5]

アルゴリズムの動きが分かりさえすれば、その上で普通の言語は配列だから・・・と、
考えて行く方がいきなり普通の言語でアルゴリズム学ぶより挫折し難い。