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 >> C /C + + -programmering >> Content

    Hur man skapar en länkad lista i C

    I C , ger en länkad lista du skapa en lista utan att avgöra i förväg hur lång tid det skulle kunna vara , och utan att slösa minne genom att fördela element du inte har ännu . Nackdelen är att du måste göra allt arbete för att organisera och hantera listan i minnet . Instruktioner Review, Skapa den datastruktur
    1

    Välj ett namn och sedan använda typedef för att definiera den . Varje länkad lista behöver en struktur , även om den bara har en variabel :

     typedef struct product_data PRODUCT_DATA , Sida 2 

    Definiera strukturen . Den sista delen bör vara en pekare till den typ du just definierat , och heter " next " :

     struct product_data { int product_code , int product_size ; PRODUCT_DATA * nästa ;} ; 
    3

    Tilldela två pekare till denna datastruktur och initierar dem till NULL , för att vara på listan " huvud " och " svans " :

     PRODUCT_DATA * products_head = null; PRODUCT_DATA * products_tail = null; 
    Lägg till listan

    4

    Tilldela en temporär variabel som är en pekare till datastruktur :

     PRODUCT_DATA * newproduct , 
    5

    Använd malloc ( ) för att skapa ett nytt element , alltid kontrollera för fel :

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

    fylla i den nya elementets fält . Ställ sin " nästa " fältet till NULL :

     newproduct - > product_code = Nykod , newproduct - > product_size = newsize , newproduct - > next = null; 
    7

    Ställ huvudet variabeln . Om huvudet variabeln är NULL , är detta den första delen läggs till i listan , så ställ in huvudet variabeln att peka på det :

     om products_head = newproduct , 
    8

    Förbered för en annan ( products_head ! ) variabel. I andra fall , svansen variabla pekar på den sista punkten på listan , så ställ in nästa värde att peka på den nya posten :

     annat products_tail - > next = newproduct , 
    9

    Uppdatera svansen peka på den nya sista elementet , i båda fallen :

     products_tail = newproduct ; 
    visa listan
    10

    Skapa en annan temporär variabel som pekar till datastruktur :

     PRODUCT_DATA * produkt , 
    11

    Ställ din temporär variabel till huvudet variabel :

     produkt = products_head , 
    12

    Loop genom elementen , kontrollera var och en och sedan ställa den temporära variabeln till nästa pekare att färdas till nästa:

     samtidigt ( produkt ) {if ( ! produkt - > product_code = 15 ) { produkten = produkten - > next ; } } 
    13

    Kolla om variabeln är NULL . Om så , du hittade aldrig objektet :

     om avkastning 0; ( produkt ! ) . Annars pekar den på det objekt du söker : 
     retur produkt - > product_size , 
    Clean Up Your Work
    14

    deallokera listan när programmet avslutas , eftersom inte alla operativsystem kommer att hantera detta automatiskt
    15

    Loop så länge huvudet variabeln inte är null : .

     stund ( products_head ) { 
    16

    Store nästa pekare i svansen variabel temporärt :

     products_tail = products_head - > next ; 
    17

    deallokera elementet :

     gratis ( products_head ) ; 
    18

    Ställ huvudet pekaren till pekaren du sparade i steg 4 :

     products_head = products_tail ; } 

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du använder GDB med Eclipse
    ·Hur får man en hel Name Input i CPP
    ·C + + och söka efter syntaxfel
    ·Hur man läser Hex Number C + +
    ·Konvertera Ttf Font till PCL
    ·Hur man skapar en länkad lista i C
    ·Hur man använder Memcmp funktion i C + +
    ·Hur man bygger en spelmotor From Scratch
    ·ActiveX Component Tutorial
    ·Hur man använder stdlib.h
    Utvalda artiklarna
    ·Hur man använder Java Script i Flash 8
    ·Hur man skriver en yttre koppling i AFD i WebFOCUS
    ·Så in värdet på en variabel till en sträng C
    ·Hur man flyttar mellan ramar i Java
    ·Hur man använder en VBA ComboBox
    ·Lägga till en bild i en PHP -fil
    ·Resultat av Sätta MySQL PHP i Echo
    ·Hur du använder PHP med JavaScript
    ·Hur man kompilerar en RESX fil till en DLL
    ·Hur man skriver ett perl-skript i VI
    Copyright © Dator Kunskap http://www.dator.xyz