但是想要學習鏈表,就必須掌握壹定的C語言基礎。
下面這個鏈表的作用是建立壹個五節點的單鏈表。五個節點的值輸入後,依次輸出每個節點的值。
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
//鏈表的建立和輸出
Struct node//定義節點的類型。
{
int num,score
節點*鏈接;
};
void main()
{
node * creat(int n);//函數原型聲明
作廢打印(節點* h);//函數原型聲明
node * head = 0;//定義鏈頭指針並初始化。
head = creat(5);//調用creat函數創建鏈表。
打印(頭);//調用打印函數輸出鏈表。
}
node*creat(int n)
{
節點*h=0,*p,* q;
int I;
for(I = 1;我& lt= n;i++)
{
q=(節點*)malloc(sizeof(節點));//分配壹個節點空間
scanf("%d%d ",& ampq->;數字& ampq->;分數);//輸入新節點的值。
q->;link = 0;//新節點的指針字段設置為0。
如果(h==0)
h = q;//第壹個節點是鏈路頭節點。
其他
p->;link = q;//新節點被添加到鏈表的末尾
p = q;
}
返回h;//返回鏈頭指針
}
Void print(node*h)//鏈表輸出函數的定義
{
While(h)//當指針H不為空時,輸出H指向的節點的值。
{
printf("num=%d\tscore=%d\n ",h-& gt;num,h-& gt;分數);
h = h-& gt;鏈接;//使h指向下壹個節點
}
}