题目描述:
带头结点的单链表的存储结构为:
typedef struct LNode
{ ElemType data; //数据域
struct LNode *next; //指针域
}LNode, *LinkList;
线性表操作说明:
LENGTH(L)
初始条件:线性表L已存在。
操作结果:返回L中数据元素个数。
写一算法,在带头结点的单链表结构上实现线性表操作LENGTH(L)。
int LENGTH(LinkList L){}
分析:通过逐个遍历链表元素,设置计数变量记录链表元素个数。
代码实现:
int LENGTH(LinkList L)
{
int count=0; //记录链表元素个数
LPNODE pmove=L->next; //设置虚拟结点,将链表的首元结点赋值给虚拟结点
//通过虚拟结点逐个遍历链表元素
while(pmove!=NULL)
{
count++;
}
return count;
}