| 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 oprettes en Dobbelt - Linked List i C Programming
    Programmører bruge sammenkædede lister lineært farbare datastrukturer. Det betyder, at programmøren kan starte fra begyndelsen af listen (kaldet hoved) og bevæge sig fremad gennem listen ét element ad gangen. Denne metode til datalagring også mulighed programmøren effektivt tilføje data til listen , der tilbyder en mere alsidig alternativ til visse andre datastrukturer såsom dynamiske arrays. Dette eksempel viser, hvordan man kan konstruere en simpel dobbelt - linkede liste , som giver navigation på listen på to retninger ( frem og bak ) . Ting du skal
    Text Editor
    C /C + + Compiler eller IDE (såsom Microsoft Visual Studio )
    Vis Flere Instruktioner
    1

    Opret node struktur, vil tjene som datatype linkede liste . I teksteditoren , skal du indtaste følgende kode : Hej

    # include

    int main {

    struct listNode {

    int data ;

    strut listNode * forrige ,

    spankulere listNode * næste ,

    };

    tilbagevenden 0;

    }

    " struct listNode " blok af kode opretter en skabelon for de elementer, der vil udfylde listen . Denne skabelon definerer en listNode som indeholdende tre elementer: et dataelement ( et heltal ) og henvisninger til de forrige og næste punkter på listen . En pointer er en variabel, der har en hukommelse adresse. Pointers bruges til at henvise til andre datastrukturer i dyb hukommelse og til dynamisk allokere hukommelse under kode.
    2

    erklære variabler, der organiserer listen struktur. Indsæt dette eksempel kode i en tekstfil:

    int size ,

    listNode * hoved,

    listNode * hale

    hale = hovedet; < br >

    head = hale ,

    Disse to pointers er begyndelsen og slutningen af ​​listen , hhv. Ved hjælp af disse pejlemærker , ved programmøren hvor begyndelsen af listen er, og hvor enden er , blot ved at kontrollere, om den aktuelle knudepunkt er "hoved" eller "hale " pointer. De har begge refererer tilbage til hinanden i tilfælde af en tom liste .
    3

    Opret en simpel algoritme til at tilføje elementer fra linkede liste . Følge dette eksempel kode : Hej

    void append ( int num ) {

    struct listNode * sporstof = hoved,

    struct listNode * newNode = ( struct listNode * ) malloc ( sizeof ( struct listNode )),

    newNode -> data = num ;

    hvis (hoved == NULL) {

    head = newNode ;

    hale = newNode ,

    newNode -> forrige = hoved,

    newNode -> next = hale

    }

    else {

    while ( tracer -> next = hale !)

    { tracer = tracer -> næste ;}

    newNode -> forrige = tracer ;

    newNode -> next = hale

    sporstof -> next = node ,

    hale = node ,

    }

    størrelse + +;

    }

    Denne kode føjer et node til slutningen af listen . Det begynder ved at skabe en pointer til lederen af ​​listen ( " tracer "). Så det skaber en pointer til en dynamisk tildelte blok af hukommelse afsat til en nyoprettet listNode ( newNode ) og fastsætter data af denne node til heltal " num " . Hvis hovedet punkter at Null ( hvilket betyder, at listen er tom , fordi hovedet peger på ingenting) , så , koden indsætter node i begyndelsen af ​​listen. Ellers ", mens " loop cykler gennem knuder i listen, indtil den når det sidste node. Når " tracer " peger på det sidste element i listen , koden indsætter noden. Den endelige kommando tilføjer til "størrelse" integer , holde styr på elementerne på listen
    4

    Opret en algoritme til at fjerne og element fra slutningen af ​​listen : .

    void removeNode () {

    if ( tail = hoved! ) {

    struct listNode * ende = hale

    tail = tail -> forrige ;
    < p> gratis ( ende ),

    størrelse - ,

    }

    }

    Denne kode opretter en pointer ( "end ") for det sidste element i listen ( det samme element " hale " peger på ) . Derefter er haleansatsen at pege på elementet umiddelbart før det sidste element ( knuden peget på af " prev " pointer det sidste element ) . Endelig er den hukommelse, der anvendes af sidste node , nævnt af "ende " , frigøres til yderligere brug.

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan importeres modeller i GTK Radiant 
    ·Sådan Fix C + + Fejl R6002 
    ·Sådan tilføjes et Attribut til Node i C # 
    ·Sådan installeres en C Run-time bibliotek 
    ·Sådan Grow Matricer i C + + 
    ·Hvordan man gør en Square Root i C + + 
    ·Sådan tilføjes To Arrays Brug pegepinde 
    ·Sådan Reverse Elementer i et array i C 
    ·Sådan Send FIFO Output til en fil 
    ·Sådan tilføjes Gridview 
      Anbefalede Artikler
    ·Sådan Læs det antal bytes i File Assembly Language 
    ·Hvordan skal tjekkes for Empty VAR i Javascript 
    ·Sådan Test en fil i Visual Basic 
    ·Sådan Analyser FFT data i POA 
    ·Sådan tilføjes en kontrol i Visual Basic for Applicat…
    ·Sådan Konverter HEX til RGB-farver 
    ·Sådan Draw tekst i Xcode 
    ·Python Projekter for OpenCV 
    ·Sådan Skriv et Overstrike 
    ·Hvordan Java Understøtter Software Genbrugelighed 
    Copyright © Computer Viden http://www.computerdk.com