? Um tipo de dados abstrato, ou ADT , é um modelo usado por programadores para definir as propriedades eo comportamento de um contêiner de dados . Existem quatro tipos de dados abstratos muito comuns que são encontrados em praticamente todas as linguagens de programação : a pilha , a fila , a lista ligada eo mapa . Você pode mudar os dados de um tipo de dados para outro usando as operações especializadas incorporadas ao ADT. Fila
A ADT fila simula uma fila de pessoas esperando em um único prestador de serviços , como um caixa de banco. Uma fila é projetado em torno da regra "First In, First Out ". O primeiro item adicionado à lista é o primeiro item removido. O processo de adicionar um item a uma fila é formalmente conhecido como " enfileiramento ", eo processo de remoção de um item é conhecido como " dequeue . " Cada implementação de programação individual da fila tem um conjunto diferente de funções que executam essas operações. Por exemplo, em C + + a " enfileiramento " operação é realizada utilizando a função "push" , ea operação " dequeue " é feito usando a função "pop".
Stack
a ADT pilha pode ser comparada com a fila porque obedece às regras "First In, Last Out ". Pense nisso como o empilhamento de uma pilha de revistas no chão. Se você remover cada revista a partir do topo da pilha , a última revista remanescente será o primeiro que você colocou no chão. A operação para adicionar um item à pilha é conhecida como " empurrar" um item na pilha, e remover um item é conhecido como " popping " o item do topo da pilha. Ao contrário da fila , a linguagem C + + usa os mesmos termos que os nomes das funções reais para transferir dados de um ADT para outro. Essas funções são chamadas de "push " e " pop ".
Lista ligada
A lista encadeada é uma coleção de nós individuais que contêm um ponteiro para outro nó . Juntos, eles formam uma cadeia de nós ligados . Há dois nós especiais : os nós de cabeça e cauda . O nó principal é o primeiro nó na seqüência , eo nó de cauda é o nó final na seqüência. Encontrar um nó específico , muitas vezes requer que começa no nó principal e que se deslocam de um nó para o outro, até que uma correspondência para o nó for encontrado ou o nó da cauda é atingido. Os dados podem ser transferidos para uma lista ligada , através do " pastilha " de operação , que pode tomar muitas formas . Por exemplo, em C + + , você pode inserir na frente da lista utilizando a função " push_front " , insira na parte de trás da lista utilizando a função " push_back " , e você pode inserir em um ponto arbitrário usando a função "Inserir" . Os itens podem ser retirados a partir de uma lista usando a operação "Remover" . Em C + +, um item pode ser removido usando a função "Remover" ea função " remove_if " , que remove apenas um item se uma condição especificada for atendida.
Mapa
O mapa ADT é chamado assim porque ele mapeia a chave para um valor. A chave é definir algum pedaço de dados, como um ID de cliente único, eo valor pode ser qualquer tipo de dados , como um arquivo de conta de cliente. No C + + Mapa , os itens podem ser deslocados em um mapa usando a opção " inserir função", e eles podem ser removidos com a função de " apagar " .