background image

    return;
}

/* 2.清除线性表 L 中的所有元素,释放存储空间,使之成为一个空表 */
void clearList(struct List *L)
{
    if(L->list != NULL){
        free(L->list);
        L->list = 0;
        L->size = L->maxSize = 0;
    }
    return;
}

/* 3.返回线性表 L 当前的长度,若 L 为空则返回0 */
int sizeList(struct List *L)
{
    return L->size;
}

/* 4.判断线性表 L 是否为空,若为空则返回 1, 否则返回 0 */
int emptyList(struct List *L)
{
    if(L->size ==0){
        return 1;
    }
    else{
        return 0;
    }
}

/* 5.返回线性表 L 中第 pos 个元素的值,若 pos 超出范围,则停止程序运行 */
elemType getElem(struct List *L, int pos)
{
    if(pos < 1 || pos > L->size){    /* 若 pos 越界则退出运行 */
        printf("元素序号越界! ");
        exit(1);
    }
    return L->list[pos - 1];    /* 返回线性表中序号为 pos 值的元素值 */
}

/* 6.顺序扫描(即遍历)输出线性表 L 中的每个元素 */
void traverseList(struct List *L)
{