33,311
社区成员
发帖
与我相关
我的任务
分享
/*线性表的单链表存储结构*/
typedef struct Node /*定义单链表的一个结点*/
{
ElemType data;
Struct Node *next;
} Node;
typedef struct Node *LinkList;
/*------------------------------------------------------------------------------------
函数功能: 获取单链表任意位置的元素
输入参数: L 要提取的线性表
i 元素的位置
*e 提取到的元素
输出参数:
备注:
------------------------------------------------------------------------------------*/
Status GetElem(LinkList L,int i,ElemType *e)
{
int j;
LinkList p; /*声明一个结点*/
p = L->data; /*让p指向链表的第一个结点*/
j = 1;
while(p && j<i) /*p不为空并且计数器j还没有等于i时循环继续*/
{
p = p->next; /*让p指向下一个结点*/
j++;
}
if(!p || j>i)
{
return ERROR; /*第i个元素不存在*/
}
*e = p->data; /*取第i个元素的数据*/
return OK;
}