typedef struct lnode *list;
struct lnode{
    int data[maxsize];
    int last;//最后一个,表长为last+1
};
struct lnode l;
list ptrl;

list makeempty(){
    list ptrl;
    ptrl = (list)malloc(sizeof(struct lnode));
    ptrl->last = -1;
    return ptrl;
}

int find(int x, list ptrl){
    int i = 0;
    while(i <= ptrl->last && ptrl->data[i]!= x)
        i++;
    if(i > ptrl->last)
        return -1;
    else
        return i;
}

void insert(int x,int i,list ptrl){
    int j;
    if(ptrl->last == maxsize-1){
        printf("表满");
        return;
    }
    if(i < 1 || i > ptrl->last+2){
        printf("位置错误");
        return;
    }
    for(j=ptrl->last; j>=i-1; j--){
        ptrl->data[j+1] = ptrl->data[j];
    }
    ptrl->data[i-1] = x;
    ptrl->last++;
    return;
}
//删除,删第i个位置的元素
void delete(int i,list ptrl){
    int j;
    if(i < 1 || i > ptrl->last+1){
        printf("位置错误");
        return;
    }
    for(j=i-1; j<ptrl->last; j++){
        ptrl->data[j] = ptrl->data[j+1];
    }
    ptrl->last--;
    return;
}

 

分类: 未分类

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注