De programmeertaal Java wordt geleverd met een reeks opgenomen datastructuren zoals gelinkte lijsten of woordenboeken . Echter, u kunt op een gegeven moment wilt uw eigen implementaties van data structuren te creëren om uw eigen specifieke doeleinden aan te passen . Dit betekent ook de uitvoering van uw eigen basisfuncties voor de datastructuur , zoals het inbrengen en verwijderen functies . Bij een dubbel gelinkte lijst met stringwaarden , dit een kwestie van waarbij u het knooppunt met de tekenreeks te koppelen en de items voor en na de verwijderde punt van de structuur van de lijst te handhaven . Wat je nodig hebt Java Development Kit ( JDK ) op tekst -editor of Integrated Development Environment ( IDE ) Toon Meer Aanwijzingen 1 Zoek het knooppunt van de gelinkte lijst die u wilt verwijderen . In dit voorbeeld zijn de knooppunten van de dubbel gelinkte lijst weergegeven door het gegevensitem " ListItem ", die een tekenreeks ( opgeslagen als " value " ) en twee verwijzingen naar andere ListItems : een " vorige" aan het en een "na" het in de lijst . De " findItem " functie doorloopt de lijst tot het vinden van het knooppunt dat de string waarde bevat , het terugsturen van een verwijzing naar dat knooppunt : openbare ListItem findItem ( String woord ) { ListItem current = head //hoofd van de lijst terwijl ( current.value = woord ! ) { current = current.next ; } terugkeer stroom; } kopen van 2 Maak het skelet van een functie om de knoop te verwijderen . Deze functie zal roepen " findItem ' om het knooppunt te lokaliseren : public void deleteItem ( String woord ) { ListItem verwijderen = findItem ( woord ) ; } < br > 3 Wijzig de functie " deleteItem " om het vorige knooppunt koppelen aan het volgende knooppunt . Om ervoor te zorgen dat de dubbel gelinkte lijst blijft ongebroken , moet het vorige knooppunt worden gekoppeld aan de rest van de lijst na het knooppunt : public void deleteItem ( String woord ) { ListItem verwijderen = findItem ( woord ) ; removing.previous.after = removing.after ; //het vorige knooppunt nu koppelt aan de volgende knooppunt } 4 Wijzig de functie " deleteItem " om het volgende knooppunt te koppelen aan de vorige knooppunt . Om de koppeling te voltooien en onderhouden van de lijst als een dubbel gelinkte lijst , de verwijderde node volgende knooppunt moet nu terug te koppelen naar de vorige knooppunt de verwijderde node : public void deleteItem ( String woord ) { ListItem verwijderen = findItem ( woord ) ; removing.previous.after = removing.after ; removing.after.previous = removing.previous ; //volgende knooppunt nu koppelt aan de vorige knooppunt } < br > 5 Verwijder het knooppunt : public void deleteItem ( String woord ) { ListItem verwijderen = findItem ( woord ) ; removing.previous.after = removing.after ; removing.after.previous = removing.previous ; verwijderen = null; }
|