Posteado por: [p3ll3] | octubre 14, 2007

Ordenamiento Quicksort

Ordenamiento Quicksort

Antes que nada aclararles que este es un ordenamiento recursivo y uno de los mas efectivos para ordenar.



   // @parametros : arreglo,indice inicio,indice final  static void sort(int a[], int lo0, int hi0) {

    int lo = 0;
    int hi = 0;

    if (lo >= hi) { 
       return;    
    }
    int mid = a[(lo + hi) / 2]; 
   while (lo < hi) {   
     while (lo<hi && a[lo] < mid) {    
          lo++;  
      }
        while (lo= mid) {
            hi--;        
  }
        if (lo < hi) {
            int T = a[lo];
            a[lo] = a[hi];
            a[hi] = T;
        }
    }
    if (hi < lo) {  
      int T = hi;
      hi = lo;   
      lo = T;
    }   
 sort(a, lo0, lo);
 sort(a, lo == lo0 ? lo+1 : lo, hi0);
}

static void sort(int a[]) {  
  sort(a, 0, a.length-1);
}
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: