| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Sådan Reverse en enkelt Linked liste
    Det er almindeligt at have behov for at vende en sammenkædet liste, men det kan være svært at gøre det ordentligt . En af de enkleste løsninger er at gentage gennem løkken , vende hver pointer . Denne pseudokode viser, hvordan du udfører denne proces og samtidig holde styr på de nødvendige variabler. Den pseudokode er generisk nok, at du bør være i stand til at tilpasse den til det sprog din kode er i. Instruktioner
    1

    Check for simple kant sager. Hvis hovedet pointer er null, listen er tom, og ingen arbejde der skal gøres . Hvis hovedet næste pointer er nul, er der kun ét element i listen , så vende det gør ingenting.

    Om hovedet = null derefter returnif head -> next = null derefter vende tilbage
    2

    Initialiser tre pejlemærker : tidl. , nuværende og næste år. "Forrige " og " nuværende" skal pege på hovedknuden på listen. "Næste" skal pege på det andet knudepunkt ved at se på viseren i hovedet node

    pointer prev = hoved, . Pointer strøm = hoved, pointer næste = head -> næste ;

    3

    Sæt hovedknuden næste pointer til null . Hovedet node bliver den sidste node i listen , så der vil ikke være nogen knuder efter det.

    Head -> next = null
    4

    Loop gennem listen vende retning af pointerne . De tre pejlemærker initialiseret tidligere er brugt til at holde styr på den aktuelle position i listen .

    Mens næste ! = Null //A null næste pointer betyder, at vi har nået slutningen af listcurrent = næste //Advance den aktuelle pointernext = aktuel -> næste //Advance næste pointercurrent -> next = forrige //Punkt den aktuelle node til den forrige node , vende linkprev = current //Advance sidste pointerend mens
    5

    Punkt hovedet variablen på listens nye leder .

    head = aktuel

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan man laver en GPA Calculator i C + + 
    ·Hvordan afrunder Decimaler i C + + 
    ·Sådan tilføjes en Toggle Skift til en Silverlight App…
    ·Sådan Slut VB6.0 & VC + + 
    ·Sådan Slut C # til MS Excel 
    ·Hvordan man kompilerer C Programmer Online 
    ·Sådan får du adgang videopodcasts Med iPhone SDK 
    ·Sådan bruges Arrays Gør Matricer i C + + 
    ·Sådan læses en fil linje ad gangen i C 
    ·Hvordan til at repræsentere en fane i en String i CPP 
      Anbefalede Artikler
    ·Sådan får du adgang en VBA Incremental Record Søg 
    ·Sådan opdaterer PEAR 
    ·Sådan Pixel -Track til Page Redirect 
    ·Java : Statisk Sammenkædning 
    ·Hvordan man laver en bruger Udskiftelige PictureBox i V…
    ·Lysbord Vs. Lysbord 2 
    ·Sådan bruges SendKeys Med en URL String 
    ·Sådan Skjul Data i Java 
    ·Sådan flytter et objekt farve i Java 
    ·Bad Wordfilteret i PHP 
    Copyright © Computer Viden http://www.computerdk.com