编写一算法在带头结点的单链表结构上实现求线性表的长度

单链表的存储结构定义
typedef struct LNode {
ElemType data; // 数据域
struct LNode *next; // 指针域
} LNode, *LinkList;

详细代码和解释如下,望采纳

int Length(LinkList L)
{
    int i = 0;
    LNode *p = L->next; // p指向第一个结点
    while (p != NULL) {
        i++;
        p = p->next;
    }
    return i;
}

其中,L是指向单链表带头结点的指针。函数执行过程中,通过遍历链表,逐个结点地访问单链表,并计数,直到遇到结点为空的情况为止。最终,返回计数值即可。