顺序表

Posted carpe-diem123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表相关的知识,希望对你有一定的参考价值。

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;
}

以上是关于顺序表的主要内容,如果未能解决你的问题,请参考以下文章

数据结构之顺序表

数据结构之顺序表

数据结构之顺序表

顺序表分析

顺序表分析

顺序表分析