| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come creare una lista collegata in C
    In C , una lista concatenata permette di creare una lista senza decidere in anticipo quanto tempo potrebbe essere, e senza sprecare memoria da elementi di ripartizione non avete ancora . Il rovescio della medaglia è che si deve fare tutto il lavoro di organizzare e gestire l'elenco in memoria .
    Istruzioni Creare i dati Struttura
    1

    Scegliere un nome , quindi utilizzare typedef per definirlo. Ogni lista collegata avrà bisogno di una struttura , anche se ha una sola variabile:

     typedef struct product_data PRODUCT_DATA ; 
    2

    definire la struttura . L' ultimo elemento deve essere un puntatore al tipo appena definito , e denominato " next " :

     product_data struct { int codice_prodotto ; int product_size ; PRODUCT_DATA * next ; }; 
    3

    Allocare due puntatori a questa struttura dati , l'inizializzazione a null, per essere la lista " testa" e "coda" :

     PRODUCT_DATA * products_head = NULL; PRODUCT_DATA * products_tail = NULL; 
    Aggiungi a elenco < br >
    4

    allocare una variabile temporanea che è un puntatore alla struttura dati :

     PRODUCT_DATA * newproduct ; 
    5

    Usa malloc ( ) per creare un nuovo elemento , il controllo sempre per un errore :

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

    popolare i campi del nuovo elemento . Impostare il campo " accanto " a NULL :

     newproduct - > codice_prodotto = Nuovo codice ; newproduct - > product_size = newsize ; newproduct - > next = NULL ; 
    7

    Impostare la variabile di testa . Se la variabile di testa è NULL , questo è il primo elemento aggiunto alla lista , in modo da impostare la variabile per puntare ad essa testa :

     se products_head = newproduct ; Pagina 8 

    Preparati per un diverso ( products_head ! ) variabile . In altri casi , la coda variabile punta al l'ultimo elemento della lista , in modo da impostare il successivo valore per puntare al nuovo elemento:

     altro products_tail - > next = newproduct ; Pagina 9 

    Aggiornare la coda di punto per il nuovo ultimo elemento , in entrambi i casi :

     products_tail = newproduct ; 
    accedere all'elenco
    10

    Creare un'altra variabile temporanea che punta alla struttura dati :

     PRODUCT_DATA * prodotto ; 
    11

    la variabile temporanea per la variabile di testa :

     prodotto = products_head ; Pagina 12 

    loop attraverso gli elementi , controllandoli uno per uno e impostando la variabile temporanea per la accanto puntatore per attraversare la prossima:

     mentre (prodotto) {if ( ! prodotto - > codice_prodotto = 15) { prodotto = product- > next ; } } Pagina 13 

    Verifica se la variabile è NULL . Se è così , non hai mai trovato l' articolo:

     se return 0; ( prodotto! ) . In caso contrario, indica l'oggetto che stavate cercando : 
     restituzione del prodotto - > product_size ; 
    ripulire il lavoro
    14

    deallocare la lista quando il programma termina , come non tutti i sistemi operativi sono in grado di gestire questo automaticamente
    15

    loop fino a quando la variabile di testa non è NULL : .

     mentre ( products_head ) { 
    16

    Conservare il prossimo puntatore la variabile coda temporaneamente :

     products_tail = products_head - > next ; 
    17

    deallocare l'elemento :

     libero ( products_head ) ; 
    18

    il puntatore di testa al puntatore è stato salvato al punto 4 :

     products_head = products_tail ; } 

    Previous :

    next :
      Articoli Correlati
    ·Come fare un C + + finestra principale senza un titolo …
    ·Come creare un istogramma con C Codice di programmazion…
    ·Come scrivere un'applicazione multi-threaded in MFC 
    ·Definire un array multi-dimensionale in C + + 
    ·Come fare un file VSH 
    ·Come saltare fuori di una funzione void in C + + 
    ·Come imparare C con Xcode 
    ·Come leggere i file Hex in C + + 
    ·Che cosa è Microsoft Visual C + + 
    ·Come utilizzare la funzione memcmp in C + + 
      Articoli in evidenza
    ·Come Fractals grafico sulla TI -82 
    ·Come limitare una casella di testo al solo numeri in Vi…
    ·Vs Visual Basic. Fortran 
    ·Come associare DataGrid valori in un dataset in VB.NET 
    ·Funzioni GridView 
    ·Come impostare il cursore su un JTextField specifico 
    ·Protocolli di Office Communicator 
    ·Come convertire Altezza in ColdFusion 
    ·Come utilizzare JPA in NetBeans 
    ·Gli svantaggi di usare Widget in Computer Design 
    Copyright © Conoscenza Informatica http://it.wingwit.com