求表长操作就是计算单链表中数据结点(不含头结点)的个数,需要从第一个结点开始顺序依次访问表中的每一个结点,为此需要设置一个计数器变量,每访问一个结点,计数器加1,直到访问到空结点为止。算法的时间复杂度为O(n)。
需要注意的是,因为单链表的长度是不包括头结点的,因此,不带头结点和带头结点的单链表在求表长操作上会略有不同。对不带头结点的单链表,当表为空时,要单独处理。
参数:头结点
void Print(LinkList L) //计算单链表的长度,然后输出单链表
{
int num=0;
LinkList p;
p=L->next; //"p"表示除了头结点之外的第一个节点
while(p) // ”最后一个节点的->next = NULL“
{
num++;
printf("%d ",p->data);
p=p->next;
}
printf("\n长度为%d:\n",num);
}
阅读(5896) | 评论(0) | 转发(0) |