O programa Ordena é um utilitário de ordenação, comandado pela linha de comando (o que é bem apropriado, visto que a operação de ordenação é algo inerentemente "batch" e não interativa). Como características importantes, destaco:
- Escrito em C ANSI para maior portabilidade (testei no Windows com o Visual C 6 e no GCC 3.2. sob Linux).
- Ordenação de arquivos texto, com chaves alfanuméricas: o programa ordena linhas finalizadas por CR LF (LF no Linux). Para reduzir a movimentação na memória, ordena os registros indiretamente através de um vetor de ponteiros.
- Suporte a múltiplas chaves: como comentei na introdução, basta comparar as chaves uma a uma até achar a primeira que tenha diferença.
- Ordena arquivos maiores que a memória: o arquivo é ordenado em blocos, que depois são combinados (merge). O tamanho do bloco pode ser definido na linha de comando (útil para exercitar esta parte do programa).
- Suporta os algorítmos BubbleSort, HeapSort, QuickSort e ShellSort.
O programa pode ser baixo daqui.
Nenhum comentário:
Postar um comentário