0
点赞
收藏
分享

微信扫一扫

PTA 6-2 顺序表操作集

color_小浣熊 2022-04-29 阅读 91

6-2 顺序表操作集

代码实现

List MakeEmpty() { // 创建并返回空的线性表
    List L;
    L = (List)malloc(sizeof(struct LNode));
    L->Last = -1;
    return L;
}

Position Find( List L, ElementType X ) { // 查找x的位置,找不到返回-1
    for (int i = 0; i <= L->Last; i++) {
        if (L->Data[i] == X) return i;
    }
    
    return ERROR;
}

bool Insert( List L, ElementType X, Position P ) {
    if (L->Last == MAXSIZE - 1) {
        printf("FULL");
        return false;
    }
    else if (P < 0 || P > L->Last + 1) {
        printf("ILLEGAL POSITION");
        return false;
    }
    else {
        for (int i = L->Last; i >= P; i--) {
            L->Data[i + 1] = L->Data[i];
        }
        L->Data[P] = X;
        L->Last++;
        return true;
    }
}

bool Delete( List L, Position P ) {
    if (P < 0 || P > L->Last) {
        printf("POSITION %d EMPTY", P);
        return false;
    }
    for (int i = P; i < L->Last; i++) {
        L->Data[i] = L->Data[i + 1];
    }
    L->Last--;
    return true;
}

举报

相关推荐

0 条评论