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;
}
}