上QQ阅读APP看书,第一时间看更新
1.3.1 链表的建立
建立链表之前,Head指向NULL。链表建好后,每次新建一个节点连接到链表时,首先使NewPoint(新建节点)的指针域指向Head指向的地址,再将Head指向NewPoint的地址,如图1.2所示。
图1.2
链表建立函数应该返回节点指针,其输入参数也应该是节点指针,参考代码如下。其中第6行的关键字new表示要在内存中开辟一个新的空间,该空间用于保存NewPoint。
1 Link Create(Link Head) //建立链表
2 {
3 int newData;
4 while(1)
5 {
6 Link NewPoint=new Lnode;//开辟空间保存NewPoint,如果失败,NewPoint=NULL
7 printf("输入链表元素: 结束输入'-1'\n");
8 scanf("%d",&newData);
9 if (newData==-1) //如果输入-1,则创建完毕
10 return Head; //返回Head
11 NewPoint->data=newData; //赋值给节点
12 NewPoint->next=Head; //NewPoint连接到链表头
13 Head=NewPoint; //更新Head,即指向NewPoint
14 }
15 }