Uma ED linear estática é implementada por um vetor. Fazem parte da ED: o vetor (dã) e as variáveis de controle (de inserções, retiradas, de quantos elementos tem) - números inteiros representando índices do vetor.
A definição de estrutura vazia pode ser feita via variáveis de controle, sem precisar inspecionar o vetor. Idem para estrutura cheia.
Testes de overflow (erro por tentar inserir elemento na estrutura cheia) e underflow (erro por tentar excluir elemento da estrutura vazia) são essenciais. As posições devem ser verificadas em cada caso de inserção e remoção de elementos.
Exemplo de implementação: pilha
int pilha[MAXTAM]; //a pilha :O
int topo; //a variável de controle, no caso sempre apontando para o topo da pilha
inicializar a pilha:
topo = 0; //inicializa o controle, não o vetor
definir a estrutura vazia
se topo = = 0 então a pilha está vazia
comandos
return topo; //indica o número de elementos da pilha
return (topo = = 0); //indica se a pilha está vazia
verificar se a estrutura está cheia
se (topo = = MAXTAM) então a pilha está cheia
empilhar
se a pilha estiver cheia dá erro de overflow, senão adiciona o elemento no topo e incrementa ele
desempilhar
se a pilha estiver vazia dá erro de underflow, senão decrementa o topo e retira o elemento dele
Nenhum comentário:
Postar um comentário