Videolivro 4 - listas encadeadas
3. Inserção no início da lista
Embora a lista permite a inserção de elementos em qualquer posição, faremos primeiramente a inserção de um elemento no início da lista.
Caso a lista esteja vazia, ou seja, é o primeiro elemento a ser inserido, ele será considerado ao mesmo tempo o primeiro e o último elemento, como vimos na figura anterior, aqui repetida:
Por que isso?
Porque se voltarmos observarmos o construtor da classe, criado anteriormente, tanto primeiro quanto último apontam par Null. Não é mesmo?
Relembrando o construtor da classe
ListaSimples(){ primeiro = null; ultimo = null; }
Caso contrário, deve devem ser realizadas duas operações:
1) O novo elemento vai apontar para o primeiro.
2) O primeiro passa a ser o novo elemento.
Vejamos a animação:
O procedimento em pseudocódigo, escrito por Puga e Risseti (2016, p. 215) é assim implementado:
Pseudocódigo do procedimento inserirInicio
Procedimento inserirInicio (novoNo: noSimples)Início
se (listaSimples.primeiro = nulo )
então listaSimples.primeiro \( \leftarrow \) novoNo;
listaSimples.ultimo \( \leftarrow \) novoNo;
senão
novoNo.proximo \( \leftarrow \) listaSimples.primeiro;
listaSimples.primeiro \( \leftarrow \) novoNo;
fimse;
Procedimento inserirInicio em Java
public void inserirInicio (NoSimples novoNo) { if (primeiro==null) { primeiro = novoNo; ultimo = novoNo; } else { novoNo.proximo = primeiro; primeiro = novoNo; } }