Pegue uma matriz de números inteiros contendo números negativos, números positivos e zeros. Agrupe-o com uma iteração e no lugar para que todos os números negativos cheguem primeiro, seguidos por todos os zeros, seguidos por todos os números positivos.
Exemplo:
Input: 5, 3, 0, -6, 2, 0, 5
Output: -6, 0, 0, 3, 2, 5, 5
Observe que os números não precisam ser totalmente classificados: apenas classificados por sinal.
Portanto, a matriz final ficará assim: -, -, ..., -, -, 0, 0, ..., 0, 0, +, +, ..., +, +
Regras
- Você só pode usar a matriz de entrada e uma quantidade constante de memória adicional (ou seja, você não pode criar mais matrizes)
- Você pode usar apenas um loop, que pode executar apenas quantas vezes o comprimento da matriz. Você não pode usar funções internas que ocultam qualquer tipo de loop. Isso inclui funções de classificação internas.
- O resultado deve estar no formato que descrevi
O vencedor será a pessoa que enviará o código mais curto (contado em bytes) que altera a matriz inicial para um formato correto (como descrito acima).
sort(...)
não é boa, pois provavelmente faz mais de uma iteração.