Listas
Listas são estruturas de dados que armazenam coleções de elementos de forma sequencial, permitindo inserções, remoções e buscas de maneira organizada.1 São fundamentais para representar filas, buffers, tabelas e outros componentes em sistemas computacionais.
Listas Lineares Simples
São listas em que os elementos são armazenados de forma sequencial, geralmente em vetores. Cada posição da lista contém um dado, e a manipulação é feita por meio de índices.
- Estrutura estática (tamanho fixo).
- Boa eficiência para acesso direto.
- Inserções e remoções são custosas, pois exigem deslocamento dos elementos.
Listas Ligadas Estáticas
São implementadas em vetores, mas simulam uma ligação entre elementos através de índices que funcionam como “ponteiros”.
- Estrutura híbrida: usa vetor, mas com lógica de lista ligada.
- Não usa alocação dinâmica, mas permite flexibilidade na organização dos dados.
- Muito utilizada quando o ambiente não permite ponteiros (ex: CLPs ou sistemas embarcados sem malloc).
Listas Ligadas Dinâmicas
São compostas por nós alocados dinamicamente, onde cada nó contém um dado e um ponteiro para o próximo elemento.
- Permitem crescimento e redução em tempo de execução.
- Inserções e remoções são eficientes, especialmente no início e meio da lista.
- Requer gerenciamento de memória (alocação e liberação).
Listas Ligadas Circulares
São listas em que o último elemento aponta de volta para o primeiro, formando um ciclo.
- Podem ser simples ou duplamente encadeadas.
- Úteis para aplicações cíclicas, como buffers circulares e sistemas com varredura contínua.
- Facilitam a navegação contínua entre elementos, sem precisar reiniciar a lista.
Aplicações na Engenharia de Controle e Automação
Listas são úteis para:
- Armazenar leituras temporais de sensores (buffer de dados);
- Controlar filas de eventos ou comandos;
- Implementar lógicas de varredura em tempo real (ex: SCAN de sensores);
- Organizar parâmetros de configuração ou registros de operação.
Cada tipo de lista deve ser escolhido com base nos requisitos de memória, tempo de resposta e complexidade de inserção ou de acesso.