Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Ta bort en sträng från en dubbelt länkad lista i Java

    ? Programmeringsspråket Java kommer med en rad ingående datastrukturer som länkade listor eller ordböcker . Men kan du någon gång vill skapa egna implementationer av datastrukturer för att passa dina egna specifika ändamål . Detta innebär också att genomföra egna basfunktioner för datastruktur , inklusive införande och funktioner radering . I fallet med en dubbelt länkad lista som innehåller strängvärden , detta är en fråga om att säkerställa att du hittar den nod som innehåller strängen och länka de punkter före och efter det raderade objektet för att upprätthålla strukturen av listan. Saker du behöver Review, Java Development Kit ( JDK ) katalog Textredigeraren eller Integrated Development Environment ( IDE )
    Visa fler instruktioner
    1

    Lokalisera nod i länkad lista som du tar bort . I detta exempel är noderna i den dubbelt länkad lista som representeras av Datadelen " listitem ", som innehåller en sträng ( lagras som "värde" ) och två hänvisningar till andra ListItems : en "föregående " till den och ett " efter " den i listan . De " findItem "-funktionen går igenom listan tills att hitta den nod som innehåller strängen värdet , återvänder en hänvisning till den noden :

    offentliga listitem findItem ( String word ) {

    listitem ström = huvud , //av listan

    samtidigt ( current.value = ord ! ) { current = current.next ; }

    returström ;}
    2

    Skapa skelettet av en funktion för att ta bort noden. Denna funktion kommer att kalla " findItem " för att hitta den nod :

    public void deleteItem ( String word ) {

    listitem bort = findItem ( word ) ,

    }

    3

    Ändra " deleteItem " -funktionen för att länka den föregående noden till följande nod . För att säkerställa att den dubbelt länkad lista förblir obruten , måste den tidigare nod kopplas till resten av listan efter den nod :

    public void deleteItem (String ord) {

    listitem avlägsnande = findItem ( ord ) , removing.previous.after = removing.after , //föregående nod nu länkar till följande nod }
    4

    Ändra " deleteItem " -funktionen för att länka följande nod till tidigare nod . För att slutföra länken och upprätthålla listan som en dubbelt länkad lista , behöver den borttagna noden är följande nod nu att länka tillbaka till den borttagna noden tidigare nod :

    public void deleteItem ( String word ) {

    listitem bort = findItem ( word ) ,

    removing.previous.after = removing.after , removing.after.previous = removing.previous , //följande nod nu länkar till den föregående noden }

    5

    Radera nod :

    public void deleteItem ( String word ) {

    listitem bort = findItem ( word ) ,

    removing.previous.after = removing.after ; removing.after.previous = removing.previous ;

    bort = null ; } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur får kolumnnamn i en databastabell i Java
    ·Hur man bygger en applet med Eclipse
    ·Konvertera Double till Int i Java
    ·Lägga till en bild till ett projekt i NetBeans
    ·Hur man installerar Java Virtual Machine
    ·Fördelar och nackdelar med Java Virtual Machines
    ·Så här kontrollerar Java Runtime Version
    ·Hur du ändrar en Java Heap Size i en WebLogic Console
    ·De saker att sätta i en applet
    ·Hur konvertera en samling till HashMap i Java
    Utvalda artiklarna
    ·VBA Sum Funktion
    ·Hur man skapar ett rutnät i Java
    ·Historien om Prolog Programming Language
    ·Hur man lägger variabelt innehåll i en fil med PHP
    ·Hur man kompilerar Python
    ·Vad är Microsoft Visual Basic 6.5
    ·Hur man skriver en algoritm av ordning n LGN för att k…
    ·Hur Kasta till heltal i VB6
    ·Hur jag extrahera del av en sträng i LabView
    ·Hur får Redigera Box Focus
    Copyright © Dator Kunskap http://www.dator.xyz