method quicksort(list l): if l.size < 2: return l let pivot = l(0) let lower = new list let higher = new list for each element e in between l(0) and the end of the list: if e < pivot: add e to lower else add e to higher let sortedlower = quicksort(lower) let sortedhigher = quicksort(higher) return sortedlower + pivot + sortedhigher