线性表

作者: lu2294 | 来源:发表于2018-06-19 15:29 被阅读0次

    线性表获取

    Status GetElem (SqList L,int i, ElemType *e){

    if(l.length === 0 || i<0 || i>L.length)

    return ERROR;

    *e = L.data[i-1];

    return OK;

    }

    线性表插入

    Status ListInsert(SqList *L,int i, ElemType e){

    int k;

    if(L->length == MaxSize){

    return ERROE;

    }

    if(i<1 || i>L->length+1)

    return ERROR;

    if(i<L->length){

    for(k=L->length-1;k>i-1;k--)

    L->data[k+1] = L->data[k]

    }

    L->data[i-1] = e;

    L->length++;

    return OK;

    }

    // 线性表删除

    Status ListInsert(SqList *L,int i, ElemType *e){

    int k;

    if(L->length == 0){

    return ERROE;

    }

    if(i<1 || i>L->length)

    return ERROR;

    *e = L->data[i-1];

    if(ilength){

    for(k=i;k

    L->data[k-1] = L->data[k]

    }

    L->length--;

    return OK;

    }

    //链表的获取

    Status GetElem(LinkList L;int i;ElemType *e){

        int j;

        LinkList p;

        p = L->next;

        j=1;

        while(p && j

            p = p->next;

            ++j;

        }

        if(!p || j>i){

            return ERROR;

        }

        *e = p->data;

        return OK;

    }

    //链表插入

    Status ListInsert(LinkList *L,int i,ElemType e){

        int j;

        LinkList p,s;

        p = *L;

        j = 1;

        while(p && j

            p = p->next;

            ++j;

        }

        if(!p || j>i)

        return ERROE;

        s = (LinkList)malloc(sizeof(Node));

        s->data = e;

        s->next = p->next;

        p->next = s;

        return ok;

    }

    //删除

    Status ListDelete(LinkList *L,int i,ElemType *e){

        int j;

        LinkList p,s;

        p = *L;

        j = 1;

        while(p->next && j

            p = p->next;

            ++j;

        }

        if(!(p->next) || j>i)

        return ERROE;

        s = p->next;

        p->next = s->next;

        *e = s->data;

        free(s);

    }

    // 单链表整体删除‘

    Status ListClear(LinkList *L){

        LinkList p,q;

        p = (*L)->next;

        while(p){

            q = p->next;

            free(p);

            p = q;

        }

        (*L)-next = NUll;

    }

    相关文章

      网友评论

          本文标题:线性表

          本文链接:https://www.haomeiwen.com/subject/rswaeftx.html