Professional Documents
Culture Documents
ordenamiento y
bsqueda Quicksort
Definicin
Funcionamiento
Complejidad
computacional
Pseudocdigo
Inicio
Funcion qsort(arr, ultimo:entero)
Definir i = izquierda ,j = derecha,temp como enteros
Definir central o pivote= A[(izquierda,derecha) div 2] como entero
Mientras(i<=j)
i=i+1
mientras arr[j]< central o pivote
j=j-1
fin mientras
fin mientras
si (i<=j)
temp=arr[i]
arr[i] = arr[j]
arr[j] = temp
j=j-1
fin si
fin Mientras
si izq < j
qsort(arr,izq,j)
fin si
si i< derecha
qsort(arr,i,der)
fin si
Inicio
Qsort(arreglo,0,9)
i=i+1
Leer arreglo[i]
Fin Para
FIN
Codigo en c++
#include<iostream>
int i= izq,j=der,temp;
while(i<=j)
while(arr[j]>p)j--; //retrocede
if(i<=j)
{
temp=arr[i];
arr[j]=temp;
i++,j--;
if (izq<j)
Quicksort(arr,izq,j);
if(i<der)
Quicksort(arr,i,der);
int main()
cout<<"Metodo quicksort";
cout<<"esto es la lista";
cout<<" 6,69,-33,7,23,5,0,100"<<endl;
int arreglo[10]={88,6,69,-33,98,7,23,5,0,100};
Quicksort(arreglo,0,9);
for(int i=0;i<10;i++)
cout<<arreglo[i]<<""<<endl;
system("pause");
return 0;