您的位置:首页 > 理论基础 > 数据结构算法

数据结构---线性表---顺序存储

2017-06-19 13:19 344 查看
#define MAXSIZE 20

typedef int ElemType;

typedef struct

{

    ElemType data[MAXSIZE];

    int length;

}SqList;

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

typedef int Status;

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

{

    if(L.length == 0 || i< 1 || 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 ERROR;

    

    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 ListDelete(SqList *L,int i ,ElemType *e)

{

    int k;

    if(L->length == 0)

        return ERROR;

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

        return ERROR;

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

    if(i < L->length)

    {

        for(k=i;k<L->length;k++)

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

    }

    L->length--;

    return OK;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: