Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť prepojený zoznam v C

V jazyku C , spájať zoznam umožňuje vytvoriť zoznam , bez toho, aby rozhodovanie dopredu , ako dlho by to mohlo byť , a bez plytvania pamäti pridelením prvky , ktoré ešte nemáte . Nevýhodou je , že musíte robiť všetku prácu organizovanie a riadenie zoznam v pamäti . Pokyny
Vytvoriť dátovú štruktúru
1

Vyberte meno , potom použiť typedef definovať . Každý spájať zoznam bude potrebovať štruktúru , aj keď to má len jednu premennú :

 typedef struct product_data PRODUCT_DATA ; 
2

Definujte štruktúru . Posledným prvkom by mal byť ukazovateľ na typ práve definované , a s názvom " Ďalšie " :

 struct { int product_data product_code , int product_size , PRODUCT_DATA * ďalšie ; } ; 
3

Prideliť dva odkazy k tejto štruktúre dát , inicializácia je NULL , bude zoznam " hlava " a " chvost " :

 PRODUCT_DATA * products_head = NULL ; PRODUCT_DATA * products_tail = NULL ; 
Pridať na zoznam
Stránka 4

Prideliť dočasné premenné , ktoré je ukazovateľ na štruktúru dát :

 PRODUCT_DATA * newproduct ; 
5

Používanie malloc ( ) na vytvorenie nového prvku , vždy kontrola chyby :

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

Vyplnenie polí nového elementu . Nastavte svoje " ďalšie " pole na hodnotu NULL :

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

Nastavte premennú hlavy . Je-li premenná hlava je NULL , to je prvý prvok pridaný do zoznamu , tak nastavte premennú hlavy poukázať na to :

 ak products_head = newproduct ; Stránka 8 

Pripravte sa na iný ( products_head! ) variabilný . V ostatných prípadoch , koncová premenná odkazuje na poslednú položku na zozname , tak nastavte jej ďalšiu hodnotu , aby odkazovali na novú položku :

 inde products_tail - > next = newproduct ; 
9

Aktualizujte chvost prejdite na novom posledný prvok , v oboch prípadoch :

 products_tail = newproduct ; 
prístup do zoznamu
10

Vytvorte ďalšie dočasné premenné ukazujúce na dátové štruktúry :

 PRODUCT_DATA * produkt ; 
11

Nastavte dočasné premenné na premennú hlavy :

 produkt = products_head ; 
12

slučky cez prvkov , kontrola každej z nich a potom nastavenie dočasné premenné ďalší ukazovateľ prejsť k ďalšej :

 while ( produkt ) { if ( produkt - > product_code = 15 ! ) { product = produkt - > ďalšie ; } } Stránka 13 

Skontrolujte , či je premenná NULL . Ak áno , ste nikdy nenašiel položku :

 ak return 0 ; ( výrobek! ) . V opačnom prípade , to ukazuje na položku, ktorú hľadali : 
 vrátiť produkt - > product_size ; 
Clean Up Your prácu
14

navrátiť zoznam , keď váš program skončí , ako nie všetky operačné systémy budú riešiť tento problém automaticky
15

slučky , ak premenná hlava nie je NULL : .

 while ( products_head ) { 
16

Uložte svoju ďalšiu ukazovateľ chvost premenná dočasne :

 products_tail = products_head - > ďalšie , 
17

navrátiť prvok :

 zadarmo ( products_head ) ; 
18

Nastavte ukazovateľ hlavy k ukazovateľu ste uložili v kroku 4 :

 products_head = products_tail ; } 

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené