求表长
由于单链表采用离散的存储方式并且没有显示表长的存储信息因此要求出单链表的表长必须将单链表遍历一遍
算法思路设一个移动指针p和计数器 count 初始化后p指向头结点p 后移一个结点count 加 直至 p 为NULL算法如下
int Length_LinkList (LinkList H)
{ /* 求单链表表长入口参数单链表头指针出口参数表长表示单链表不存在*/
LinkList p=H; /* p指向头结点*/
int count= ; /*H带头结点所以从开始*/
while ( p) /* p所指的是第 count + 个结点*/
{
p=p>next;
count++;
} /*while */
return (count);
}
该算法的时间复杂度为O(n)其中n为单链表的结点数
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []