Página principal | Módulos | Lista de componentes | Lista de archivos | Archivos de los miembros

The HeapSort Algorithm


Funciones

void buildheap (int *, int)
 Crear el Heap.
void heapify (int *, int, int)
 otra funcion
void Heapsort (int *, int)
 Descripcion.....

Descripción detallada

Estas funciones componen el algoritmo Heapsort.

Documentación de las funciones

void buildheap int *  Arreglo,
int  largo
 

Parámetros:
Arreglo .......
largo .........

Definición en la línea 40 del archivo heapSort.c.

Hace referencia a heapify().

Referenciado por Heapsort().

00041 {
00042   int i;
00043   for (i=(int) ((largo/2)-1);i>=0;i--)
00044     heapify(Arreglo, i, largo);
00045   return;
00046 }

void heapify int *  Arreglo,
int  i,
int  heapsize
 

Parámetros:
Arreglo .....
i ...........
heapsize ....

Definición en la línea 17 del archivo heapSort.c.

Referenciado por buildheap(), y Heapsort().

00018 {       
00019   int derecha, izquierda, mayor;
00020   int temp;
00021   
00022   izquierda=2*i+1;
00023   derecha=2*i+2;
00024   
00025   if (izquierda<=heapsize && *(Arreglo+izquierda)>*(Arreglo+i))
00026     mayor=izquierda;
00027   else
00028     mayor=i;
00029   if (derecha<=heapsize && *(Arreglo+derecha)>*(Arreglo+mayor))
00030     mayor=derecha;
00031   if (mayor != i) {
00032     temp = *(Arreglo+i);
00033     *(Arreglo+i) = *(Arreglo+mayor);
00034     *(Arreglo+mayor) = temp;
00035     heapify (Arreglo, mayor, heapsize);
00036   }
00037   return;
00038 }

void Heapsort int *  Arreglo,
int  largo
 

Parámetros:
Arreglo .....
largo .......

Definición en la línea 55 del archivo heapSort.c.

Hace referencia a buildheap(), y heapify().

00056 {
00057   int i, heapsize;              
00058   int temp;
00059         
00060   largo=largo-1;
00061   heapsize=largo;
00062         
00063   buildheap(Arreglo, largo);
00064   for (i = (int)(largo);i>=1;i--) {
00065     temp=*(Arreglo+0);
00066     *(Arreglo+0)=*(Arreglo+i);
00067     *(Arreglo+i)=temp;
00068     heapsize=heapsize-1;
00069     heapify(Arreglo,0,heapsize);
00070   }
00071   return;
00072 }


Generado el Fri Nov 19 03:23:51 2004 para Ejemplo por  doxygen 1.3.9.1