Este é um projeto de Implementacoes pessoais de listas dinamicas (Geralmente ensinadas em materias como Algortimos e Estruturas de Dados), criado utilizando Java e JUnit 5 (Para os testes). O objetivo deste projeto é fornecer uma interface em que o usuario possa escolher com qual estrutura deseja trabalhar, mas sem precisar saber sobre como funciona, facilitando e otimizando o seu desenvolvimento.
| Listas | Implementada? | Inserção em ordem? | É linear? | Tipo do nó |
|---|---|---|---|---|
| Lista ligada | Sim | Sim | Sim | Apenas chave |
| Lista duplamente ligada | Sim | Sim | Sim | Apenas chave |
| Fila | Sim | Não | Sim | Apenas chave |
| Fila duplamente ligada (Deque) | Sim | Não | Sim | Apenas chave |
| Matrizes esparsas | Sim | Não | Não | Chaves, Coordenadas |
| Árvore binária de busca (ABB) | Sim | Sim | Não | Apenas chaves |
isEmpty(), addNode(double key), removeNode(double key), modifyNode(double oldkey, double newKey),
findNode(double key), printNodes(), printNode(double key), containdsNode(double key),
sublist(double fromIndex, double toIndex), findMax(T t), findMin(T t), setCoordinatedNode(double key, int x, int y),
sublist(int fromX, int toX, int fromY, int toY).
Para rodar este projeto localmente, siga os passos abaixo:
- Clone este repositorio
git clone <url-do-repositorio>
- Acesse a pasta onde esta o projeto na sua maquina
cd my-personal-lists
- Compile todos os arquivos (Lembre-se de fazer suas alteracoes no arquivo Main.java)
javac *.java
- Execute o programa
java Main
Se você deseja contribuir com este projeto, siga os passos abaixo:
- Faça um fork deste repositório.
- Crie uma branch para sua feature (git checkout -b feature/nome-da-feature).
- Commit suas mudanças (git commit -m 'Adiciona nova feature').
- Faça um push para a branch (git push origin feature/nome-da-feature).
- Abra um Pull Request.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para abrir uma issue ou entrar em contato.