孤世星辰 发表于 2021-5-17 10:29:43

单链表

本帖最后由 孤世星辰 于 2021-5-17 11:59 编辑

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

typedef int Status;

// Status 是函数的类型,其值是函数结果状态代码,如OK
// 初始条件:顺序线性表L已存在,1 <= i <= ListLength(L)
// 操作结果:用e返回L中第i个数据元素的值
Status GetElem(SqList L, int i, ElemType *e)
{
    if( L.length==0 || i<1 || i>L.length )
    {
      return ERROR;
    }
    *e = L.data;                                //不是说线性表位序是从1开始么,为什么这个给我感觉还是跟数组一样从0开始呢

    return OK;
}


/* 初始条件:顺序线性表L已存在,1<=i<=ListLength(L) */
/* 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度-1 */

Status ListDelete(LinkList *L, int i, ElemType *e)
{
    int j;
    LinkList p, q;                                //这样定义指针是不是有问题,定义指针不是*p么

    p = *L;
    j = 1;

    while( p->next && j<i )
    {
      p = p->next;
      ++j;
    }

    if( !(p->next) || j>i )
    {
      return ERROR;
    }

    q = p->next;
    p->next = q->next;

    *e = q->data;
    free(q);

    return OK;
}

孤世星辰 发表于 2021-5-17 10:34:24

本帖最后由 孤世星辰 于 2021-5-17 11:59 编辑

好像懂了,位序说的是第几个元素,是我们按照1开始,但是这个顺序表其实还是跟数组一样的,下标是0开始
后面那个定义指针还是没看懂

无极空间 发表于 2021-5-17 20:18:39

孤世星辰 发表于 2021-5-18 10:23:48

无极空间 发表于 2021-5-17 20:18
大佬,数据结构视频中的课件在哪里找?(ppt)

http://bbs.fishc.com/thread-95941-1-1.html
页: [1]
查看完整版本: 单链表