👋 Bem-vindo ao meu repositório de Estrutura de Dados! Aqui você encontrará implementações de diversas estruturas de dados comumente usadas, escritas em C++.
DataStructuresCPP é um repositório que oferece implementações eficientes de várias estruturas de dados comuns em C++. O objetivo principal é ajudar os desenvolvedores a melhorar a organização e o desempenho de seus programas, fornecendo uma biblioteca confiável de estruturas de dados.
Neste repositório, você encontrará implementações das seguintes estruturas de dados:
-
Lista Sequencial (Array): Uma lista implementada como um array, permitindo a inserção, remoção e acesso rápido aos elementos.
-
Lista Simplesmente Encadeada (Linked List): Uma lista encadeada em que cada elemento possui um ponteiro para o próximo elemento, permitindo inserções e remoções eficientes.
-
Lista Duplamente Encadeada (Doubly Linked List): Uma lista encadeada em que cada elemento possui um ponteiro tanto para o próximo quanto para o elemento anterior, permitindo navegação bidirecional e operações eficientes de inserção e remoção.
-
Pilha (Stack): Uma estrutura de dados baseada no princípio LIFO (Last-In, First-Out), em que o último elemento inserido é o primeiro a ser removido.
-
Fila (Queue): Uma estrutura de dados baseada no princípio FIFO (First-In, First-Out), em que o primeiro elemento inserido é o primeiro a ser removido.
-
Deque (Double Ended Queue): Uma fila de duas pontas que permite a inserção e remoção tanto no início quanto no final da estrutura, proporcionando flexibilidade nas operações.
-
Set (Conjunto): Uma coleção de elementos únicos, em que cada elemento pode ser adicionado ou removido do conjunto, e é possível verificar se um elemento está presente no conjunto.
-
Tabela Hash (Hash Table): Uma estrutura de dados que permite o armazenamento eficiente de pares de chave-valor, utilizando uma função hash para calcular o índice de armazenamento dos elementos. Isso possibilita o acesso rápido aos valores com base em suas chaves.
Essas implementações oferecem soluções eficientes e flexíveis para o armazenamento e manipulação de dados em diferentes contextos.
Para executar os programas deste repositório, você precisará ter o compilador de C++ instalado em sua máquina. Recomenda-se o uso do GCC ou Clang, pois são amplamente suportados e possuem um bom suporte a recursos modernos da linguagem.
Clone este repositório em seu ambiente local:
git clone https://github.com/matheusvidal21/DataStructuresCPP.git
cd nome-do-repositorio
Compile o código-fonte da estrutura de dados desejada. Por exemplo, para compilar e executar o código de uma lista ligada:
g++ linkedList.cpp -o linkedList
./linkedList
Certifique-se de substituir "lista_sequencial.cpp" pelo nome do arquivo da estrutura de dados que deseja compilar e executar.
Explore o código-fonte, faça alterações e adaptações de acordo com suas necessidades. Sinta-se à vontade para adicionar novas funcionalidades ou otimizações.
Contribuições para este repositório são sempre bem-vindas! Se você deseja adicionar uma nova estrutura de dados, corrigir algum bug ou melhorar a implementação existente, sinta-se à vontade para abrir uma pull request.