6-3チェーンの長さを求める(10 point(s))

999 ワード

6-3チェーンの長さを求める(10 point(s))
本題は一つの関数を実現することを要求します.チェーン式の表の長さを求めます.
関数インターフェースの定義:
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
", Length(L)); return 0; } /* */
入力サンプル:
1 3 4 5 2 -1
出力例:
5

code:
int Length( List L ){
  int cnt = 0;
  while(L!=NULL){
    cnt++;
    L = L->Next;
  }
  return cnt;
}