Usted no esta registrado, haga click aqui para registrarse!
 Inicio   Artículos   Recursos   Foros 
 

Iniciar sesión

¿No estas registrado?
Registrate en Latindevelopers.com!

 

















Hilos/Hebras en Visual C++

Este es un programa que demuestra como utilizar la clase CWinThread en forma sencilla. El ejemplo utiliza tres hilos y comprueba la rapidez de tres métodos de ordenamiento conocidos: QuickSort, SelectSort y el metodo de Burbuja, y se puede ver que uno de ellos es mucho mas eficiente, y el gran perdedor de esta prueba es el método de la Burbuja.

 


 

Aplicacion en ejecutandose
Aplicacion en ejecutandose

 

Primero se crera una clase base para el manejo de los hilos, en la que se implementarán funciones comunes en todas las demás clases derivadas. En cada clase derivada se implementa una funcion que efectua el ordenamiento de ciertos datos.


 

Diagrama de clases
Diagrama de clases

El codigo que les voy a mostrar es parte de la clase CQuickSort con la funcion que ejecuta la operacion de ordenado y la otra la funcion que contiene el algoritmo de ordenamiento QuickSort. Todo esta en el proyecto en Visual C++ que adjunto al artículo.

int CQuickSort::Run()
{
  m_iIterac = 0;
  quickSort(0,MAX_VALORES);
  return 0;
}

void CQuickSort::quickSort(int left, int right)
{
  int leftIndex = left;
  int rightIndex = right;
  int partionElement;

  if ( right > left)
  {

  partionElement = m_piValores[ ( left + right ) / 2 ];

    while( leftIndex <= rightIndex )
    {
  
      while( ( leftIndex < right ) &&
        ( m_piValores[leftIndex] < partionElement ) )
        ++leftIndex;
  
      while( ( rightIndex > left ) &&
        ( m_piValores[rightIndex] > partionElement ) )
        --rightIndex;
  
      if( leftIndex <= rightIndex )
      {
        Intercambiar(leftIndex, rightIndex);
        ++leftIndex;
        --rightIndex;
      }
    }

    if( left < rightIndex )
      quickSort( left, rightIndex );
    
    if( leftIndex < right )
      quickSort( leftIndex, right );
  }
}

 

Descargas

Acerca del Author

Nombre de usuario: latindeveloper
Blog/URL:
Fecha de envío: 2004-03-14
Ultima Actualización:
Visualizaciones: 12435
Nedstat Basic - Web site estadisticas gratuito
El contador para sitios web particulares