顺序表
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;
}
以上是关于顺序表的主要内容,如果未能解决你的问题,请参考以下文章