数据结构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;
    }

posted @ 2019-10-07 21:53  ZhouWei211  阅读(225)  评论(0)    收藏  举报