Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/matheusvidal21/datastructurescpp

Implementações eficientes de estruturas de dados em C++ para aprimorar a organização e desempenho dos programas. Explore listas encadeadas, pilhas, filas, e muito mais.
https://github.com/matheusvidal21/datastructurescpp

abstractdatatype cpp datastructures

Last synced: about 1 month ago
JSON representation

Implementações eficientes de estruturas de dados em C++ para aprimorar a organização e desempenho dos programas. Explore listas encadeadas, pilhas, filas, e muito mais.

Awesome Lists containing this project

README

        


Logo C++

#### 👋 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++.

# 📃 Descrição
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.

# 🌟 Estruturas de Dados Implementadas
Neste repositório, você encontrará implementações das seguintes estruturas de dados:

- [Lista Sequencial (Array)](/Lista%20Sequencial): Uma lista implementada como um array, permitindo a inserção, remoção e acesso rápido aos elementos.

- [Lista Simplesmente Encadeada (Linked List)](/Lista%20Simplesmente%20Encadeada): 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)](/Lista%20Duplamente%20Encadeada): 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)](/Pilha): 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)](/Fila): 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)](/Deque): 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)](/Set): 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)](/Tabela%20Hash): 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.

# 🔧 Como compilar

## Pré-requisitos
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.

### Passo 1: Obtenha o código-fonte
Clone este repositório em seu ambiente local:
```
git clone https://github.com/matheusvidal21/DataStructuresCPP.git
```

### Passo 2: Navegue até o diretório do projeto:
```
cd nome-do-repositorio
```

### Passo 3: Compile e execute o programa
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.

### Passo 4:
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ção
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.