c语言编写的顺序表的增删改查
#include
#define MaxSize 20
typedef struct List{
int data[MaxSize];
int length;
}SqList;
int ListInitiate(SqList *L){//初始化顺序表
L->length=0;
return 0;
}
int Length(SqList L){//返回顺序表的长度
return L.length;
}
int GetElem(SqList L,int n){//按值查找
int i=0;
for(i=0;iL->length+1||L->length==MaxSize){
printf("位置错误n");
return 0;
}
for(int i=L->length;i>=a;i--){
L->data[i]=L->data[i-1];
}
L->data[a-1]=b;
L->length++;
return 0;
}
int DeletList(SqList *L,int a){//删除第a位数字
if(a<1||a>L->length||L->length==0){
printf("位置错误n");
return -1;
}
for (int i = a; i<=L->length-1; i++) {
L->data[i-1]=L->data[i];
}
L->length--;
return 0;
}
int PrintList(SqList L){//打印顺序表内的数据
for(int i=0;iL.length){
printf("参数不合格n");
}
printf("第%d的数字为%dn",a,L.data[a-1]);
return 0;
}
int main(){
SqList L;
ListInitiate(&L);
InsertList(&L, 1, 3);
InsertList(&L, 2, 6);
InsertList(&L, 2, 7);
LocateList(L, 1);
GetElem(L,3);
PrintList(L);
return 0;
}