Algoritmos e Estruturas de Dados [LEEC] (2024/2025)

Biblioteca



Compilar na consola um programa que usa a biblioteca

  1. Crie uma pasta para o seu projeto e lá dentro:

  2. Para compilar, dê este comando dentro da pasta do projeto:


Configuração dum projeto Code::Blocks que usa a biblioteca

  1. Entre no Code::Blocks para criar um projeto vazio, mas com um nome adequado.
    Há vantagem em, no último passo da criação do projeto, desativar a configuração "Release" e manter apenas a configuração "Debug".
    Depois de criar o projeto, saia.

  2. Dentro da pasta do projeto:

  3. Volte a entrar no Code::Blocks e adicione ao projeto o conteúdo das duas pastas.

  4. Agora precisa de ensinar o Code::Blocks a encontrar os ficheiros ".h".
    Faça:

  5. Aproveite para, em Compiler Flags, ativar as flags de compilação "-Wall" e "-Wextra", marcando estas opções:


Porquê a pasta "alternativas"?

Muitas vezes, dá jeito adicionar a um projeto Code::Blocks todos os ficheiros da biblioteca duma só vez. Mas isto só é viável se, no meio de todos os ficheiros instalados, não ocorrerem duas implementações do mesmo TAD. Isso causaria erros de "multiple definition of ...".

É por isso que, quando há diferentes implementações do mesmo TAD na biblioteca, escolhe-se uma delas para figurar na diretoria principal, e as outras são relegadas para a pasta "alternativas".

Depois de carregar toda a biblioteca no projeto, temos sempre a liberdade de remover uma determinada implementação e trocá-la por outra contida na pasta "alternativas".


Alteração importante a partir da versão 5

Após comentários/dúvidas de alguns alunos, foi decidido, na biblioteca, tornar públicas as implementações das funções universais.

Sem relação com a alteração anterior, aproveitou-se para repensar a função criaInfo, que passou a garantir a unicidade do bloco informativo de cada tipo.

Toda a documentação de AED adaptou-se a estas alterações. A ideia é tornar mais simples o uso das coleções genéricas.


Arquivo completo - versão 9 - 13/mai/2025


base


simples


iterador


sequencia


dicionario


pilha


fila