本题要求实现一个函数,找到并返回链式表的第K个元素。
函数接口定义:
ElementType FindKth( List L, int K );
其中List
结构定义如下:
typedef struct LNode *PtrToLNode;
struct LNode {
ElementType Data;
PtrToLNode Next;
};
typedef PtrToLNode List;
L
是给定单链表,函数FindKth
要返回链式表的第K
个元素。如果该元素不存在,则返回ERROR
。
实现:
ElementType FindKth( List L, int K )
{
int i = 1;
if (K < 1)
return ERROR;
while (L != NULL && i < K)
i++, L = L->Next;
return L != NULL ? L->Data : ERROR;
}