Logica_de_Programacao_3_Edicao_Livro
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
162 1 Lógíco de progromoção
b) No início da lista: remover Est.acio11ame11to
~-co_m_e_ç_o_~--'•~I estacionamento(3) 1-----'•~ _ b_a_n c_a_(_7_) ~ Antes
._I
começo
estacionamento(5)
t
1-------,•~ _ b_a_n c_a_(_7_) _,
._I
12 passo
lQ passo: começo f- lista [3]. prox;
c) No fim da lista: re1nover Locadora
1 ivraria(2) 1---•-I locadora(4) 1-------,•~l ...__ fi_n_a_l _ __, Antes
1 ivraria(2)
t
~1 _oc_a_d_or_a_(_4_) ~--'>J~ ._ __ fi_n_a_l _ __,
12 passo
Jil passo: lista[2] .prox f- lista[4] . prox ;
Podemos generalizar todos os casos de remoção e1n un1 ú nico módulo:
ALGORITMO 7.3
Remoção em uma lista (parcial)
1. módulo Remove (inteiro: velho, antecessor)
2. antecessor f- lista[velho].prox;
3. fi1m1ódulo;
Exemplo
Remove (5, lista[7].prox);
Remove (3, começo);
Remove (4, lista[2].prox);
li meio da lista, ex a)
li início da lista, ex b)
11 fim da lista, ex e)
Examinando com atenção, poderen10s enxergar a beleza ela simplicidade do código, que
inclusive simplifica a compreensão do que realmente ocorre: o elemento anterior liga-se ao
próximo elemento de seu próximo elemento.
Pode rernos aperfeiçoar o rnócluJo acrescentando algun1as consistê ncias, conforrne mostrado
a seguir:
ALGORITMO 7.4
Remoção em uma lista (completa)
1. módulo Remove (inteiro: velho, antecessor)
2. se começo= O li Lista vazia
3. então escreva (''A lista estã vazia !'') ;
4. senão se não Existe (antecessor) (Couli,uu1)