Dator > hur man vända en enda länkad lista

  • hur man vända en enda länkad lista


  • Det är vanligt att behovet av att vända en länkad lista , men det kan vara svårt att göra det ordentligt. Ett av de enklaste lösningarna är att iterera igenom öglan , vända varje pekare . Detta pseudokod visar hur du utför denna process och samtidigt hålla koll på de nödvändiga variablerna . Den pseudokod är generisk nog att du ska kunna anpassa den till vilket språk din kod är i.
    1 .
    Kontrollera enkel kant fall . Om huvudet pekaren är null , är listan tom och inget arbete behöver göras . Om huvudet nästa pekare är null , det finns bara ett element i listan , så vända det gör ingenting .

    om huvudet=null sedan återvända
    om huvud-> next=null . återvända
    2
    Initiera tre tips: prev , nuvarande och kommande . " Föregående " och " nuvarande " ska peka på huvudet noden i listan . "Nästa " ska peka på den andra noden genom att titta på pekaren i huvudet noden

    pekaren prev=huvud .
    pekaren nuvarande=huvud ;
    pekaren nästa=huvud-> nästa .
    3
    Ställ huvudnoden nästa pekare till null . Huvudet nod kommer att bli den sista noden i listan , så det blir inga noder efter det .

    huvudet -> next=null
    4 .
    Loop igenom listan vända riktningen för pekare . De tre pekare tidigare initierad används för att hålla koll på den aktuella positionen i listan .

    medan nästa !=null //En null nästa pekare betyder att vi har nått slutet av listan
    nuvarande=nästa //Advance aktuell pekaren
    nästa=nuvarande -> Nästa //Advance nästa pekaren
    nuvarande -> next=föregående //Point nuvarande nod till föregående nod , backning länken
    prev=nuvarande //Advance de senaste pekaren
    slutet medan
    5 .
    Point huvudet variabeln på listans nya chef .

    huvudet=nuvarande

    tips och varningar


  • Om du behöver för att iterera genom en länkad lista i båda riktningarna överväga att införa ett dubbelt-länkad lista .

Previous:nothing Next:hur du ändrar ett skript filnamn





Relaterade artiklar


  • Hur konvertera tal till ord i JavaScript
  • Definitionen av händelser i Visual Basic
  • hur du döljer DataGrid kolumner
  • hur du importerar data till MS Access med hjälp av SQL lagrade procedurer
  • hur man gör en skylt i skriptet för Game Maker
  • hur man gör spel med Python för nybörjare
  • hur man öppnar Microsoft Excel med hjälp av Java-kod
  • hur du omdirigerar en webbsida i javascript
  • hur man kan ändra teckensnitt färger med javascript
  • hur man bygger 32- bitars Linux-program på 64 - bitars plattformar