Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe maak je een Linked List in C
In C maken , een gelinkte lijst kunt u een lijst maken zonder de beslissing van tevoren hoe lang het zou kunnen zijn , en zonder verspilling van geheugen door het toewijzen van elementen die je nog niet hebt . Het nadeel is dat je moet al het werk van de lijst in het geheugen van het organiseren en beheren van doen . Instructies
Maak de Data Structure
1

Kies een naam , gebruik dan typedef om het te definiëren . Elke gekoppelde lijst zal een structuur nodig hebben , zelfs als het slechts een variabele :

 typedef struct product_data PRODUCT_DATA ; 
2

Definieer de structuur . Het laatste element moet een pointer naar het type dat u gewoon gedefinieerd , en de naam " next " te zijn :

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

toewijzen twee verwijzingen naar deze datastructuur , initialiseren van hen op NULL , aan de lijst "kop " en "staart" zijn :

 PRODUCT_DATA * products_head = NULL ; PRODUCT_DATA * products_tail = NULL ; 
In de lijst < br > Goedkope 4

Wijs een tijdelijke variabele dat is een pointer naar de datastructuur :

 PRODUCT_DATA * newproduct ; 

Gebruik malloc 5 ( ) om een ​​nieuw element te maken , altijd te controleren op een fout :

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

Bevolken velden het nieuwe element . Ingesteld zijn gebied " next " om NULL :

 newproduct - > product_code = newcode ; newproduct - > product_size = newsize ; newproduct - > volgende = NULL ; 
7

Stel de kop variabele . Als de kop variabele NULL is , dit is het eerste element toegevoegd aan de lijst , dus stel het hoofd variabele om te wijzen op het :

 als products_head = newproduct ; 
8

Bereid je voor op een andere ( products_head ! ) variable . In andere gevallen , de staart variabele wijst naar het laatste item op de lijst, dus stel de volgende waarde te wijzen op het nieuwe item:

 anders products_tail - > volgende = newproduct ; 
9

Werk de staart te wijzen op de nieuwe laatste element , in beide gevallen :

 products_tail = newproduct ; 
Toegang tot de lijst met
10

Maak nog een tijdelijke variabele wijst naar de datastructuur :

 PRODUCT_DATA * product ; 
11

Stel uw tijdelijke variabele aan het hoofd variabele :

 product = products_head ; 

Loop 12 door de elementen , het controleren van elk een en dan het instellen van de tijdelijke variabele aan de volgende pointer te doorkruisen naar de volgende :

 terwijl ( product ) { if ( ! product - > product_code = 15 ) { product = product - > volgende ; } } 

Controleer 13 als de variabele NULL . Als dat zo is , je nooit gevonden het item :

 als return 0 ; ( artikel! ) . Anders , het wijst op het item dat u zoekt : 
 terugkeer product - > product_size ; 
Clean Up Your Work
14

deallocate de lijst wanneer uw programma eindigt , zoals niet alle besturingssystemen zal dit afhandelen automatisch

Loop 15 , zolang de kop variabele is niet NULL : .

 terwijl ( products_head ) { 

Store 16 zijn volgende pointer in de staart variabele tijdelijk :

 products_tail = products_head - > volgende ; 
17

deallocate het element :

 gratis ( products_head ) ; 
18

Stel het hoofd pointer naar de aanwijzer die u hebt opgeslagen in stap 4 :

 products_head = products_tail ; } 
Previous: Next:
  C /C + + Programming
·Hoe te downloaden en opslaan M…
·Hoe te compileren C Projects 
·Hoe Octal Berekenen om binaire…
·Hoe je C bufferoverruns Stop 
·Visual C 2005 Tutorial 
·Hoe om te leren STL containers…
·Hoe maak je automatisch Increm…
·Hoe je tekst voor creëren Dir…
·Hoe te converteren C + + aan A…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Om te lezen hoe een MOV in MATLAB 
·Hoe te Unieke Random Integers Genereer i…
·Hoe kan ik PHP Steek in het midden van e…
·Hoe je alle event handlers Verwijder in …
·Wat is de Java TM 2 Platform ? 
·Variabelen in een MATLAB functie 
·Hoe kan ik een tekst in VB.Net 
·Hoe je C - Style Cp580 Borders Gebruik i…
·Hoe maak je een Row Van DataGridView beh…
Copyright © Computer Kennis http://www.nldit.com