数据结构5
单链表存储结构
我们在C语言中可以用结构指针来描述单链表:
typedef struct Node
{
ElemType data; //数据域
struct Node* Next; //指针域
}Node;
typedef struct Node* LinkList;
单链表的读取:
获得链表第i格数据的算法思路:
-
声明一个结点p指向链表的第一个结点,初始化j从 1 开始;
-
当j < i时,就遍历链表,让p的指针向后x移动,不断指向一下结点,j+1;
-
若到链表末尾p为空,则说明第i个元素不存在;
-
否则查找成功,返回结点p的数据;
Status GetElem( LinkList L, int i, ElemType *e)
{
int j;
LinkList p;p = L->next; j = i; while( p && j < i) { p = p->next; ++j; } if (!p || j > i) { return ERROR; } *e = p->data; return OK;
}