quick sort using std::vector and dynamic alloc new