domingo, 21 de noviembre de 2010

Ejemplo en Python

El siguiente ejemplo es un programa en python sobre el ordenamiento quicksort en forma 
recursiva:


  1.  
  2. def quicksort (lista) : 
  3.   """Ordena la lista siguiendo el algoritmo quicksort 
  4.   o de ordenación rápida""
  5.   ordena_quicksort(lista,0,len(lista)-1
  6.   return lista 
  7.  
  8. def ordena_quicksort (lista,izdo,dcho) : 
  9.   if izdo<dcho : 
  10.     pivote=lista[(izdo+dcho)/2
  11.     i,d=izdo,dcho 
  12.     while i<=d : 
  13.       while lista[i]<pivote : i+=1 
  14.       while lista[d]>pivote : d-=1 
  15.       if i<=d : 
  16.         lista[i],lista[d]=lista[d],lista[i] 
  17.         i+=1 
  18.         d-=1 
  19.     if izdo<d : ordena_quicksort(lista,izdo,d) 
  20.     if i<dcho : ordena_quicksort(lista,i,dcho) 
  21.   return lista 

1 comentario: