| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    ¿Cómo revertir una lista única Linked
    Es común que tenga que invertir una lista encadenada , pero puede ser difícil de hacerlo bien . Una de las soluciones más simples es para recorrer el circuito , la inversión de cada indicador . Este pseudocódigo muestra cómo realizar este proceso , mientras que el seguimiento de las variables necesarias . El pseudocódigo es lo suficientemente genérico que debe ser capaz de adaptarse a cualquier idioma que su código es pulg Instrucciones
    1

    Comprobar casos extremos simples. Si el puntero de cabeza es nulo, la lista está vacía y no hay trabajo que hay que hacer . Si el indicador de siguiente de la cabeza es nulo , no es sólo un elemento en la lista , por lo que invertir no hace nada.

    Si la cabeza = null entonces returnif cabeza - > siguiente = null luego regresar
    2

    Inicializar triples : anterior , actual y siguiente . " Anterior " y "actual" debe apuntar al nodo de cabecera de la lista. " Next" debe apuntar al segundo nodo mirando el puntero en el nodo principal
    pointer

    prev = cabeza ; . Puntero actual = cabeza ; puntero next = cabeza - > siguiente ;
    Página 3

    situado junto puntero del nodo principal en null. El nodo principal se convertirá en el último nodo de la lista, así que no habrá ningún nodo después de él.

    Cabeza - > siguiente = null
    4

    Recorrer la lista de la inversión de la dirección de los punteros . Los tres punteros inicializados antes se utilizan para realizar un seguimiento de la posición actual en la lista.

    Mientras próxima ! = Null //El siguiente puntero nulo significa que hemos llegado al final de la listcurrent = siguiente //Avance el pointernext actual = actual -> siguiente //Avanzar al siguiente pointercurrent - > siguiente = prev //Punto de nodo actual al nodo anterior , revirtiendo la linkprev = corriente //Avanzar en la última pointerend mientras
    5

    punto la variable cabeza de la lista de nuevo la cabeza .

    cabeza = corriente

    Previous :

    next :
      Artículos relacionados
    ·Cómo editar DataGrid celular en Silverlight 
    ·Cómo aprender Punteros en C 
    ·Cómo Referencia C DLL en Net 
    ·Cómo escribir un plan de pruebas 
    ·Cómo crear aplicaciones para Windows Mobile Net 
    ·Cómo escribir una definición para una función Interc…
    ·Conversión de un valor negativo a positivo en C + + 
    ·Instrucciones de uso de una aplicación de Visual C Com…
    ·Cómo declarar una constante estática en C 
    ·Cómo escribir un programa que imprima pares ordenados …
      Artículos destacados
    ·Cómo visualizar las variables booleanas en C + + 
    ·Cómo llenar un DataReader Using 
    ·Cómo escribir un Pseudocódigo para calcular Squares 
    ·Cómo utilizar un código de una aplicación VB6 quitar…
    ·Cómo aprender Macromedia Flash 
    ·Cómo ejecutar una aplicación Clojure en la JVM y CLR 
    ·Cómo poner una variable en el nombre del trazado en MA…
    ·Cómo hacer Parcelas en C + + 
    ·Cómo agregar una referencia a la Microsoft Scripting R…
    ·Cómo moldeada Char internacional 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com