prototype.mp4
Este projeto é um script PHP para ordenar produtos conforme o preço, usando a técnica de ordenação externa (external sorting). Ele lida com arquivos grandes que podem exceder a memória do servidor. O script permite ordenar em ordem ascendente ou descendente. O código é escrito em PHP puro, sem frameworks.
- Servidor Web (opcional): Um servidor web como Apache ou Nginx com suporte para PHP.
- PHP: PHP versão 7.0 ou superior instalado e configurado no servidor.
- Permissões de Arquivo: Certifique-se de que o servidor web tem permissões de leitura e escrita nos diretórios
data/
.
Diretório/Arquivo | Descrição |
---|---|
data/ | Contém os arquivos JSON de entrada e saída. |
- input.json | Arquivo de entrada com os dados não ordenados. |
- output.json | Arquivo de saída com os dados ordenados. |
src/ | Diretório principal do código-fonte. |
- utils/ | Diretório com utilitários para manipulação de arquivos. |
- save_array_to_json.php | Script para salvar arrays em formato JSON. |
- external_sort.php | Script principal para a ordenação externa dos dados. |
- input_generator.php | Script para geração dos dados de entrada. |
index.html | Página HTML principal para interação com o usuário. |
process.php | Script PHP para processamento do formulário e ordenação. |
assets/ | Diretório opcional contendo a imagem do index.html. |
- index.html: Página inicial onde o usuário seleciona a ordem de ordenação da entrada e saída dos preços.
- process.php: Script PHP que recebe os dados do formulário, gera os dados de entrada, realiza a ordenação externa e exibe uma mensagem de conclusão.
- src/external_sort.php: Implementa a lógica de ordenação externa dos dados.
- src/input_generator.php: Gera os dados de entrada com produtos e preços aleatórios.
- src/utils/save_array_to_json.php: Função utilitária para salvar arrays em formato JSON.
- Abra o arquivo
index.html
em um navegador web. - Selecione a ordem desejada para a ordenação da entrada e saída.
- Clique no botão "Ordenar" para iniciar o processo.
- Após a ordenação, verifique o arquivo
output.json
no diretóriodata/
para os dados ordenados.