Tengo que ordenar con la función ordenación_rapida(quick sort) implementada por mi ,lo tengo que hacer sobre todas las permutaciones de un vector de n elementos ,siendo n el valor de la variable i,el problema es que cuando ejecuto la función de ordenación dentro del do while se queda en un bucle infinito en el vector de dos elementos 0,1 , en resumen todo funciona por separado pero al juntarlo ...bucle infinito y no tengo ni idea de porque
int main(){
for(int i=0;i<=3;i++){ //este bucle es para el numero de elementos del vector
vector<double> v;
for(int j=0;j<=i;j++){
v.push_back(j);
}
do{
ordenacion_rapida(v.begin(),--v.end(),4);//esta funcion fuera del do while funciona
for (std::vector<double>::iterator it = v.begin() ; it != v.end(); ++it)// este bucle es solo para ver los vectores
std::cout << ' ' << *it;
cout<<" "<<endl;
}while(next_permutation(v.begin(),v.end()));
}
}