C語(yǔ)言 鏈表的輸出操作
要輸出鏈表中的數(shù)據(jù)項(xiàng),只需依次訪問(wèn)鏈表中的各個(gè)結(jié)點(diǎn),并輸出數(shù)據(jù)項(xiàng),直到某一結(jié)點(diǎn)的地址域?yàn)镹ULL為止。例如,輸出上面建立好的鏈表的數(shù)據(jù)的具體步驟為:
①定義兩個(gè)SLIST型的指針h、p; h指向鏈表的頭結(jié)點(diǎn),p指向下一個(gè)結(jié)點(diǎn),如圖所示。
②判斷p是否指向NULL,如果沒(méi)有,執(zhí)行第③步,否則執(zhí)行第⑥步。
③輸出指針p指向結(jié)點(diǎn)的數(shù)據(jù)域。
4 P指向下一個(gè)結(jié)點(diǎn):p=p->next。
⑤轉(zhuǎn)去執(zhí)行第②步。
⑥循環(huán)結(jié)束。
具體執(zhí)行過(guò)程如圖所示。
輸出鏈表中結(jié)點(diǎn)的函數(shù)output()具體程序代碼如下:
void output(SLIST *h)
{
SLIST *p,*q;
p=h->next;
printf("The data in list is :\n");
while(p!=NULL)
{
printf("%d->",p->data); /* 輸出結(jié)點(diǎn)中的數(shù)據(jù) */
p=p->next; /* 指向下一個(gè)結(jié)點(diǎn) */
}
程序執(zhí)行,輸出結(jié)果為:
1->3->5->9->10->12->14->17->18->22->NULL
點(diǎn)擊加載更多評(píng)論>>