necesito ayuda...sos
alguien me podria ayudar con un programa de c++ y flujograma del ordenamiento shell y quicksort.. por fa
// este es el algoritmo shell en c++
// podes declarar la variable de esta manera
// int vector[max]
// y la llamada la haces asi
// vector(vector,max);
// en donde max es la longitud maxima del arreglo
void ordenar(int vector[], int max)
{
int i,j,d,l;
d=1;
while(d < max)
d *= 2;
do{
d = d/2;
for(i=0;i<max-d;i++)
{
j=i;
l=j+d;
while(j >= 0 && vector[l] < vector[j])
{
intercambio(vector[l],vector[j]);
l=j;
j=j-d;
}
}
}while(d>0);
}
// podes declarar la variable de esta manera
// int vector[max]
// y la llamada la haces asi
// vector(vector,max);
// en donde max es la longitud maxima del arreglo
void ordenar(int vector[], int max)
{
int i,j,d,l;
d=1;
while(d < max)
d *= 2;
do{
d = d/2;
for(i=0;i<max-d;i++)
{
j=i;
l=j+d;
while(j >= 0 && vector[l] < vector[j])
{
intercambio(vector[l],vector[j]);
l=j;
j=j-d;
}
}
}while(d>0);
}
ahora bien la busque quick sort es una busqueda lineal solo necesitas recorrer la lista hasta encontrar el dato eje
int quicksort(int vector[],int max, int dato)
{
casilla=-1;
for(int x=0;x<max;x++)
if (lista[x]==dato)
casilla=x
return casilla;
}
la funcion devuelve la casilla en donde se encontro el dato y devuelve -1 si no lo encontro
int quicksort(int vector[],int max, int dato)
{
casilla=-1;
for(int x=0;x<max;x++)
if (lista[x]==dato)
casilla=x
return casilla;
}
la funcion devuelve la casilla en donde se encontro el dato y devuelve -1 si no lo encontro
