? A linguagem de programação Java vem com uma série de incluídas as estruturas de dados , tais como listas ligadas ou dicionários . No entanto, você pode em algum momento deseja criar suas próprias implementações de estruturas de dados para atender às suas finalidades específicas. Isso também significa implementar suas próprias funções básicas para a estrutura de dados, incluindo as funções de inserção e exclusão. No caso de uma lista duplamente vinculada contendo valores de seqüência , isto é uma questão de assegurar que você encontre o nó que contém a cadeia e ligando os itens antes e depois do item excluído para manter a estrutura da lista. Coisas que você precisa
Java Development Kit ( JDK)
Editor de Texto ou Ambiente de Desenvolvimento Integrado (IDE)
Mostrar Mais instruções
1
Localize o nó da lista ligada que você está removendo . Neste exemplo , os gânglios da lista duplamente ligados são representados pelo item de dados " ListItem ", que contém uma cadeia ( armazenados como " valor " ) e duas referências a outros listItems: um " anteriores " e a ela um "depois" -o na lista . A função " FindItem " percorre a lista até encontrar o nó que contém o valor da seqüência , retornando uma referência a esse nó :
público ListItem FindItem ( palavra String) {
ListItem atual = cabeça //cabeça da lista
while ( current.value = palavra!) { atual = current.next ;}
voltar atual ;}
2
criar o esqueleto de uma função para remover o nó . Esta função irá chamar " FindItem " para localizar o nó :
DeleteItem public void ( palavra String) {
ListItem remoção = FindItem (palavra) ;
} < br >
3
Modificar a função " DeleteItem " para ligar o nó anterior ao nó seguinte . Para garantir que a lista duplamente ligada permanece intacta , o nó anterior deve ser ligado ao resto da lista a seguir o nó :
DeleteItem public void ( palavra String) {
ListItem remoção = FindItem (palavra) ; removing.previous.after = removing.after //o nó anterior agora links para o nó seguinte }
4
Modificar a função " DeleteItem " para ligar o nó seguinte ao nó anterior. Para completar a ligação e manter a lista como uma lista duplamente ligada , após o nó do nó excluído agora precisa ligar de volta para o nó excluído nó anterior :
DeleteItem public void ( palavra String) {
ListItem remoção = FindItem (palavra) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous //nó seguinte agora links para o nó anterior }
5
Excluir o nó :
DeleteItem public void ( palavra string) {
ListItem remoção = FindItem (palavra) ;
removing.previous.after = removing.after ; removing.after.previous = removing.previous ;
remoção = null; }