链表表长

版权声明:请勿商业化使用 https://blog.csdn.net/qq_40991687/article/details/89530439

问题描述:

本题要求实现一个函数,求链式表的表长。函数接口定义:
int Length( List L );
其中List结构定义如下:typedef struct LNode *PtrToLNode;
struct LNode {
    ElementType Data;
    PtrToLNode Next;
};
typedef PtrToLNode List;
L是给定单链表,函数Length要返回链式表的长度。裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>

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
int Length( List L ){
  int length=0;
  while(L)//遍历整个单链表
  {
    length++;
    L=L->Next;
  }
  return length;
}

输出

5

猜你喜欢

转载自blog.csdn.net/qq_40991687/article/details/89530439