Este exercício consiste em programar um algoritmo de ordenação que executa em múltiplas threads simultâneas. A ordenação é um problema bem conhecido e as soluções melhor paralelizáveis são, tipicamente, variantes do MergeSort ou do QuickSort.
- O vetor deve ser processado por diversas threads paralelas
- O número máximo de threads paralelas fica a critério do programador, mas deve ser um número finito, razoável (ou seja: não é interessante usar 1024 threads paralelas) e claro.
- O programa deve garantir que todas as threads encerram antes do fim do programa principal.
Soluções que não contemplem esses três requisitos não serão aceitas. Eles serão verificados manualmente, caso a caso.
Entrada | Saida |
---|---|
5 4 3 2 1\n |
1 2 3 4 5\n |
3 2 4 1 5\n |
1 2 3 4 5\n |
- Vá diretamente ao conjunto de testes para verificar como tratar casos limítrofes ou mal-definidos.
- Lembre-se de seguir as instruções de submissão.
- Se desejar, proponha novos casos de teste.