C++如何写一个快速排序算法

快速排序算法是一种基于交换的高效的排序算法,如何用C++写一个快速排序算法

template<typename T>
bool my_less(T& x, T& y)
{
    return x < y;
}

template<typename RandomIterator>
void print( RandomIterator start, RandomIterator end)
{
    if(start != end) cout << *start;

    while(++start != end)
    {
        cout <<  ", " << *start;
    }
    cout << endl;
}
int main(int argc, char *argv[])
{
    (void) argc;
    (void) argv;

    double test[] = {5,1, 6,7, 1,4, 8,4, 3,9, 6,4 ,2,1, 5, 34, 4, 3, 5, 8, 5,9,4,2};
    print(std::begin(test), std::end(test));
    quickSort(std::begin(test), std::end(test), my_less<double>);
    print(std::begin(test), std::end(test));
}