数据结构基础PTA6-3 求链式表的表长

6-3 求链式表的表长(10 分)
本题要求实现一个函数,求链式表的表长。

函数接口定义:

int Length( List L );

其中List结构定义如下:

typedef struct LNode *PtrToLNode;
struct LNode {
    ElementType Data;
    PtrToLNode Next;
};
typedef PtrToLNode List;

L是给定单链表,函数Length要返回链式表的长度。

裁判测试程序样例:

#include 
#include 

typedef int ElementType;
typedef struct LNode *PtrToLNode;
struct LNode {
    ElementType Data;
    PtrToLNode Next;
};
typedef PtrToLNode List;

List Read(); /* 细节在此不表 */

int Length( List L );

int main()
{
    List L = Read();
    printf("%d\n", Length(L));
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:
1 3 4 5 2 -1

输出样例:
5

作者: 陈越
单位: 浙江大学
时间限制: 400ms
内存限制: 64MB
代码长度限制: 16KB

int Length( List L ){
  int len = 0;
  List tmp = L;
  while(tmp != NULL){/* 从tmp开始判断,而不是从tmp->Next*/
      tmp = tmp->Next;
      len++;
  }
  return len;
}

你可能感兴趣的:(数据结构基础)