Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Como inverter uma lista ligada simples
É comum a necessidade de reverter uma lista ligada , mas pode ser difícil de fazê-lo corretamente . Uma das soluções mais simples é para percorrer o circuito , revertendo cada ponteiro. Este pseudocódigo mostra como realizar este processo , mantendo o controle das variáveis ​​necessárias . O pseudocódigo é genérico o suficiente para que você deve ser capaz de adaptá-lo a qualquer língua o seu código está dentro Instruções
1

Verificar casos de borda simples. Se o ponteiro cabeça é nulo, a lista está vazia e nenhum trabalho precisa ser feito . Se ao lado do ponteiro da cabeça é nula , não é apenas um elemento na lista, assim invertendo ele não faz nada .

Se a cabeça = null então returnif cabeça - > next = null então retornar
2

Inicializar três pontos : próximo , atuais e próximos . "Anterior " e " atual " deve apontar para o nó cabeça da lista . "Next" deve apontar para o segundo nó , olhando para o ponteiro no nó principal

ponteiro prev = cabeça ; . Atual ponteiro = cabeça ; ponteiro next = cabeça -> next;

3

Situado junto ponteiro do nó principal como nulo. O nó principal será o último nó na lista, assim não haverá nenhum nó depois.

Cabeça - > next = null
4

loop através da lista de reverter a sentido dos ponteiros . Os três ponteiros inicializados anteriormente são utilizados para acompanhar a posição atual na lista.

Enquanto seguinte! = Null //A próxima ponteiro nulo significa que chegamos ao final do próximo listcurrent = //Adiantamento o pointernext atual = atual -> seguinte //Adiantamento a próxima pointercurrent -> next = anterior //Aponte o nó atual para o nó anterior , revertendo a linkprev = corrente //Adiantamento a última pointerend enquanto
5

Aponte a variável cabeça no novo chefe da lista.

cabeça = corrente

Anterior :

Próximo : No
  Os artigos relacionados
·Como usar o Vector3 Operador Ogre 
·Requisitos do sistema para Turbo C 
·Como Chegar Copy & Paste no Windows Phone 7 para desenv…
·Como usar o controle de página no iPhone SDK 
·Como fazer uma string em uma matriz de caracteres em C …
·Como ler Hex Número C + + 
·Como desenhar linhas no Visual C + + 
·Como exibir um triângulo retângulo de números em C P…
·Objetivo Questionamento em C Programação 
·Como compilar um arquivo H 
  Artigos em destaque
·Como executar um cpp 
·Como faço para gravar um arquivo CSV em C # 
·Como ler Hex Número C + + 
·Como Pesquisar e Arquivos analisar o texto em C # 
·Como converter radianos em graus em Linguagem C + + em …
·Como definir o Gridview Datakey no Código 
·Como retornar uma referência a Vector C 
·Programas em C + + que irá reverter a sentença 
·Como calcular expressões com incremento e Decremento O…
·String de conexão para o SQL Authentication 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados