今天算是对链表和指针有了一个新的感悟。以前总是朦胧的概念,特别对于malloc()函数,几乎是死记硬背,现在认识的清晰了一点。
感触如下:
- 对于链表的使用正如数组的使用要有常用的遍历符号:t,数组中的遍历符号都是i,j;数组的遍历结束标志为数组长度,链表的遍历结束为t==NULL如果还是有点蒙,请看如下代码:
数组:
//数组
for(int i=0;i<n;i++){
......
}
链表:
//链表
t=head;//前提是已经定义好t head都是指针类型的,如果不懂可以看完整的题解代码
//t=head就相当于数组中的i=0,赋初值。
while(t!=NULL)//循环条件{
... ...
}
- 对于链表来说,还有一些经常出现的定义符号*q,*p,*head
符号 | 含义 |
---|---|
*q | 表示上一个节点,如数组中i-1 |
*head | 表示头结点 |
*p | 临时存放 |
其中*p是几乎必不可少的,正如数组中的临时变量temp(随个人习惯不同,只需要知道是临时变量就行) ;至少在计算机二级中,是链表就会看见这几个变量
关于啊哈算法链表手打题解(半懵半懂)