Hilos en Visual C++ utilizando la clase CWinThread
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.
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.
- Code: Seleccionar todo
- 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 );
- }
- }
Archivos Adjuntos
- thread_demo.zip30.43 KiB
Código fuente del proyecto de hilos con el ordenamiento simultaneo.
Otros Artículos en esta sección
-
Chart para visual c++, control que visualiza gráficos de barra y sectores en un dialogo MFC, puedes utilizarlo en tus aplicaciones para enriquecerlo mostrando histogramas y gráficos de sectores.Una clase que visualiza el resultado de una consulta SQL en un cuadro combinado (CCombobox) utilizando una conexion DAO.Es una técnica para reducir el parpadeo producido al dibujar en la pantalla, es muy útil para desarrollar juegos por que éstos suelen requerir refrescamiento continuo de pantalla.¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:
foro deVisual C++ »