数据结构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  阅读(198)  评论(0编辑  收藏  举报