| 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 linket liste i C
    I C giver en sammenkædet liste, du vil oprette en liste uden at beslutte før tid , hvor længe det måtte være, og uden at spilde hukommelse ved tildeling elementer, du ikke har endnu. Ulempen er, at du er nødt til at gøre alt arbejdet for organisering og styring af listen i hukommelsen. Instruktioner
    Opret datastruktur
    1

    Vælg et navn , og derefter bruge typedef at definere det. Hver linkede liste får brug for en struktur , selv om det kun har én variabel :

     typedef struct product_data PRODUCT_DATA , 
    2

    Definer struktur. Det sidste element skal være en pegepind til den type, du lige har defineret , og navngivet "Næste" :

     struct product_data { int product_code , int product_size , PRODUCT_DATA * næste ;} ; 
    3

    Afsætte to henvisninger til denne datastruktur , initialiseres dem til NULL , for at være på listen " hoved" og " hale" :

     PRODUCT_DATA * products_head = NULL ; PRODUCT_DATA * products_tail = NULL ; 
    føje til listen < br >
    4

    afsætte en midlertidig variabel, der er en pointer til datastrukturen :

     PRODUCT_DATA * newproduct , 
    5

    Brug malloc () for at oprette et nyt element , altid kontrollere om en fejl:

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

    befolke nye elementets felter. Indstille dens "next " for at NULL :

     newproduct -> product_code = Alternativ kode , newproduct -> product_size = newsize , newproduct -> next = NULL ; 
    7

    Indstil hovedet variabel. Hvis hovedet variabel er NULL , dette er det første element føjes til listen, så sæt hovedet variable til at pege på det :

     hvis products_head = newproduct , 
    8

    Forbered dig på en anden ( products_head !) variabel . I andre tilfælde , halen variable peger det sidste punkt på listen , så sæt dens næste værdi, til at pege på det nye element :

     ellers products_tail -> next = newproduct , 
    9

    Opdater hale til peger på den nye sidste element i begge tilfælde :

     products_tail = newproduct , 
    adgang til listen
    10

    Opret en anden midlertidig variabel peger på datastruktur:

     PRODUCT_DATA * produkt 
    11

    Indstil din midlertidige variabel til hovedet variablen :

     produkt = products_head , 
    12

    Loop igennem elementerne , kontrol hver enkelt og derefter indstille den midlertidige variabel til næste pointer til at krydse til den næste:

     while ( produkt) { if (! produkt -> product_code = 15 ) { produkt = produkt -> næste ;}} 
    13

    Tjek om variablen er NULL . Hvis ja, du aldrig fundet varen :

     hvis tilbagevenden 0; (produkt !) . Ellers peger på det element, du ledte efter : 
     retur produkt -> product_size , 
    Clean Up Your Work
    14

    deallocate listen, når dit program slutter , da ikke alle operativsystemer vil håndtere dette automatisk
    15

    Loop så længe hovedet variabel er ikke NULL : .

     while ( products_head ) { 
    16

    Store sin næste pointer i halen variablen midlertidigt :

     products_tail = products_head -> næste , 
    17

    deallocate elementet :

     gratis ( products_head ) 
    18

    Indstil hoved pointer til pointer du gemte i trin 4:

     products_head = products_tail ;} 

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Slå i C Fra objekt til datotid 
    ·Sådan Rul til en række i en DataGridView 
    ·Sådan tilføjes en række i DataGridView 
    ·Sådan udfyldes en DataReader Brug Statement 
    ·Sådan bruges Atoi Funktion 
    ·Sådan at forstå Pointers i C 
    ·Hvordan man skriver en XLS ark i CSharp 
    ·Sådan bruges Microsoft Visual Studio C Compiler for Pi…
    ·Sådan oprettes en C # Class Library DLL hjælp af Visu…
    ·Sådan bruges Edit Controls i MFC 
      Anbefalede Artikler
    ·Hvad er Color Konstant i Java 
    ·Silverlight 3D Carousel Effect Tutorial 
    ·Sådan oprettes en Java regneark datastruktur 
    ·Hvordan for at sortere i Visual Basic 
    ·Sådan Medtag en PHP Header 
    ·Hvad Er Integral typer i Java 
    ·Tutorial på rullemenuer i JavaScript 
    ·Hvordan kan jeg ændre Regionale indstillinger af VBA 
    ·Sådan Byte Sequence en karakter i PHP 
    ·Hvordan man tegner et flowchart til CSS Hierarki 
    Copyright © Computer Viden http://www.computerdk.com