链式表的按序号查找
首先检测K的合法性,K应该是一个正整数。显然寻找第K个元素需要寻找K-1次后继,因此先对K减一来进行预处理。之后寻找K-1次后继即可。如果中途L成为了空指针,说明没有第K个元素,K太大了。此时应立即返回,避免对空指针是用运算符->,这会导致段错误(Segmentation Fault)。
ElementType FindKth( List L, int K )
{
if(K <= 0) return ERROR;
K--;
while(K--)
{
if(L!=NULL)
L = L->Next;
else return ERROR;
}
if(L != NULL)
return L->Data;
else return ERROR;
}