Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan Reverse en enkelt lenket liste
    Det er vanlig å trenge å reversere en lenket liste , men det kan være vanskelig å gjøre det riktig . En av de enkleste løsningene er å iterere gjennom løkken , snu hver pekeren . Dette pseudokode viser hvordan du utfører denne prosessen mens du holder styr på de nødvendige variablene . Den pseudokode er generisk nok til at du bør være i stand til å tilpasse den til hva språket ditt kode er i. Instruksjoner
    en

    Sjekk for enkle edge tilfeller. Hvis hodet pekeren er null, er listen tom og ingen jobb som må gjøres . Hvis hodet neste pekeren er null, er det bare ett element i listen, så vend det gjør ingenting .

    Hvis hode = null deretter returnif head- > neste = null deretter tilbake
    2

    Initialiser tre pekere : forrige , nåværende og neste år. "Forrige " og " dagens" skal peke på hodet node i listen. "Next" skal peke på den andre noden ved å se på pekeren i hodet node

    pekeren forrige = hode ; . Pekeren current = hode ; markøren ved siden = head- > neste ;

    3

    Sett hodet node neste pekeren til null . Hodet node vil bli den siste noden i listen , så det blir ingen noder etter det .

    Head- > neste = null
    4

    Loop gjennom listen reversere retning av pekere . De tre pekere initialisert tidligere brukes til å holde styr på den aktuelle posisjonen i listen.

    Mens neste ! = Null //A null neste pekeren betyr at vi har nådd slutten av listcurrent = neste //Advance gjeldende pointernext = current- > neste //Advance neste pointercurrent - > neste = forrige //Point gjeldende node til forrige node, reversere linkprev = strøm //Advance den siste pointerend mens
    5

    Point hodet variabel på listen sin nye leder .

    hode = strøm

    früher :

     Weiter:
      Relatert Artike
    ·Slik fjerner en indeks i en dynamisk Array av heltall v…
    ·Hvordan Lenke listen Input Stream på C + + 
    ·Hvordan skrive Ordet tilsvarende en sjekk Beløp i C Pr…
    ·Hvordan Ignorer Kommentar Lines i C + + 
    ·Hva er Direct3D og OpenGL 
    ·Slik konverterer LPSTR til INT 
    ·Hvordan beregne en Memory Address 
    ·Hvordan lese en CSV-fil i C 
    ·Hva er Microsoft Visual Studio 6.0 
    ·Hvordan Ring en Destructor i C + + 
      Anbefalte artikler
    ·Tutorial på hvordan du bruker VB6 PictureBox 
    ·Hvordan endre en Codebase 
    ·Hvordan sette Attributt Verdi på PHP DOM 
    ·Hvordan sette Access Key i Visual Basic 
    ·Hvordan du flytter et objekt med Drag i XCode 
    ·Hvordan spare en listen med CommonDialog i VB6 
    ·Vector indeksering i MATLAB 
    ·Forskjellen mellom High Level & Lavt nivå i programmer…
    ·Hvordan flytte data fra MySQL til MongoDB Script 
    ·Slik spiller en SRC Fil 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/