合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。💪🏻
一、題目描述 ??
6-3 求鏈式表的表長
本題要求實現一個函數,求鏈式表的表長。
函數接口定義: 👇🏻
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
輸出樣例: ?
5
二、代碼(C語言)??
/*** 計算鏈式表的長度* @param L 鏈表的頭指針* @return 鏈表的長度(節點個數)*/
int Length(List L) {int count = 0; // 初始化計數器PtrToLNode current = L; // 當前節點指針,從頭節點開始// 遍歷鏈表直到末尾(current為NULL)while (current != NULL) {count++; // 計數器加1current = current->Next; // 移動到下一個節點}return count; // 返回鏈表長度
}