Code: Select all
auto quick_sort(List<int> list)
{
if(!list.empty())
{
auto [middle, list_to_sort] = list.pop_front();
auto [lower, upper] = list_to_sort.split(Int < middle);
return merge(quick_sort(lower), middle, quick_sort(upper));
}
else
{
return list;
}
}