Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan lage en lenket liste i C
    I C , gir en lenket liste du lage en liste uten å bestemme på forhånd hvor lang tid det kan være, og uten å sløse minne ved tildeling av elementer du ikke har ennå . Ulempen er at du må gjøre alt arbeidet med å organisere og administrere listen i minnet . Instruksjoner , Lag datastrukturen
    en

    Velg et navn , og deretter bruke typedef å definere det. Hver lenket liste vil trenge en struktur , selv om den bare har én variabel :

     typedef struct product_data PRODUCT_DATA ; 
    2

    Definer strukturen. Det siste elementet bør være en peker til den typen du nettopp definerte , og heter "neste" :

     struct product_data { int product_code ; int product_size ; PRODUCT_DATA * neste ;} ; 
    3

    Fordele to pekere til denne datastruktur , initializing dem til NULL , for å være på listen " hode " og " hale " :

     PRODUCT_DATA * products_head = NULL ; PRODUCT_DATA * products_tail = NULL ; 
    Legg til listen

    4

    Fordele en midlertidig variabel som er en peker til data struktur:

     PRODUCT_DATA * newproduct ; 
    5

    bruk malloc () for å opprette et nytt element , alltid se etter en feil:

     if ( ( newproduct = malloc ( sizeof ( PRODUCT_DATA ) ) ) == NULL) { abort (); } 
    6

    fylle ut den nye elementets felt. Sette sitt "neste" -feltet til NULL :

     newproduct - > product_code = Ny kode ; newproduct - > product_size = newsize ; newproduct - > neste = NULL ; 
    7

    Sett hodet variabel. Hvis hodet variabelen er NULL , er dette det første elementet lagt til listen , så sett hodet variabel til å peke på det :

     hvis products_head = newproduct ; 
    8

    Forbered deg på en annen ( products_head ! ) variabel. I andre tilfeller , halen variable peker på det siste elementet på listen , så sett sitt neste verdi å peke på det nye elementet :

     annet products_tail - > neste = newproduct ; 
    9

    Oppdater halen til peker til den nye siste elementet , i begge tilfeller :

     products_tail = newproduct ; 
    tilgang til listen
    10

    Opprett en midlertidig variabel som peker til datastruktur :

     PRODUCT_DATA * produkt ; 
    11

    Sett midlertidig variabel til hodet variabel:

     product = products_head ; 
    12

    Loop gjennom elementene , sjekke hver enkelt og deretter sette den midlertidige variabelen til neste pekeren for å krysse til den neste:

     while ( produkt) { if ( ! produkt - > product_code = 15 ) { product = produkt - > neste ;} } 
    13

    Sjekk om variabelen er NULL . Så fall har du aldri funnet elementet :

     hvis return 0 ; (produkt ! ) . Ellers peker det til elementet du var ute etter : 
     retur produkt - > product_size ; 
    Clean Up Your Work
    14

    deallocate listen når programmet avsluttes, som ikke alle operativsystemer vil håndtere dette automatisk
    15

    Loop så lenge hodet variabelen er ikke NULL : .

     while ( products_head ) { 
    16

    butikken sin neste pekeren i halen variabel midlertidig :

     products_tail = products_head - > neste ; 
    17

    deallocate elementet :

     gratis ( products_head ) ; 
    18

    Sett hodet pekeren til pekeren du lagret i trinn 4:

     products_head = products_tail ;} 

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan Plasser heltall i stigende rekkefølge hjelp av…
    ·Hvordan bruke GDB Med Eclipse 
    ·Hvordan bruke tilbakeringing funksjon i C 
    ·Hva er et virtuelt Destructor i C 
    ·Hvordan å erklære en funksjon i C 
    ·Slik søker du etter en fil i C # 
    ·Hvordan Teach Yourself Windows CE Programmering i 24 ti…
    ·Hvordan Design Editor Bruke OpenGL 
    ·Slik bruker du en funksjon peker i heltall Array 
    ·Hvordan Design N- Tiered Data Access Layers Bruke datas…
      Anbefalte artikler
    ·Hvordan avinstallere et program Med PowerShell 
    ·Slik konfigurerer en Flex PMD 
    ·Hva er Py Kompiler 
    ·Avansert Java emner 
    ·Hvordan Slett bufret EAR File Fra CCCRs 
    ·Hvordan Rull en tekst i VB.Net 
    ·Hvordan lage Autocad Lisp programmer 
    ·Hvordan lage et PHP Web Form 
    ·Hvordan kombinere to lister i Python 
    ·Hvordan lage en horisontal Histogram Med Stjernene i Ja…
    Copyright ©  Datamaskin  http://www.datamaskin.biz/