Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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 ;
2Definujte š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 ; } ;
3Prideliť 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 4Prideliť dočasné premenné , ktoré je ukazovateľ na štruktúru dát :
PRODUCT_DATA * newproduct ;
5Používanie malloc ( ) na vytvorenie nového prvku , vždy kontrola chyby :
if ( ( newproduct = malloc ( sizeof ( PRODUCT_DATA ) ) ) == NULL ) { abort ( ) ; } Praha 6Vyplnenie polí nového elementu . Nastavte svoje " ďalšie " pole na hodnotu NULL :
newproduct - > product_code = newcode ; newproduct - > product_size = newsize ; newproduct - > next = NULL ;
7Nastavte 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 8Pripravte 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 ;
9Aktualizujte chvost prejdite na novom posledný prvok , v oboch prípadoch :
products_tail = newproduct ;
prístup do zoznamu
10Vytvorte ďalšie dočasné premenné ukazujúce na dátové štruktúry :
PRODUCT_DATA * produkt ;
11Nastavte dočasné premenné na premennú hlavy :
produkt = products_head ;
12sluč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 13Skontrolujte , č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
14navrátiť zoznam , keď váš program skončí , ako nie všetky operačné systémy budú riešiť tento problém automaticky
15slučky , ak premenná hlava nie je NULL : .
while ( products_head ) {
16Uložte svoju ďalšiu ukazovateľ chvost premenná dočasne :
products_tail = products_head - > ďalšie ,
17navrátiť prvok :
zadarmo ( products_head ) ;
18Nastavte ukazovateľ hlavy k ukazovateľu ste uložili v kroku 4 :
products_head = products_tail ; }