数据结构——顺序表初始化,插入,删除
#include<stdio.h>
#define MAXSIZE 10
typedef struct{
int data[MAXSIZE];
int length;
}Sqlist;
void ListInit(Sqlist &L){
for(int i=0;i<MAXSIZE;i++)
L.data[i]=0;
L.length=0;
printf(“初始化完成\n”);
}
bool ListInsert(Sqlist &L,int i,int e){
if(i<1||i>L.length+1)
return false;
if(L.length>MAXSIZE)
return false;
for(int j=L.length;j>i;j–){
L.data[j]=L.data[j-1];
}
L.data[i-1]=e;
L.length++;
return true;
}
bool ListDelete(Sqlist &L,int i,int &f){
if(i<1||i>L.length+1)
return false;
f=L.data[i-1];
for(int j=i-1;j<L.length;j++){
L.data[j]=L.data[j+1];
}
L.length–;
return true;
}
void out(Sqlist &L){
for(int i=0;i<L.length;i++)
printf("%d “,L.data[i]);
printf(”\n");
}
int main(){
Sqlist L;
ListInit(L);
for(int i=0;i<MAXSIZE-1;i++)
ListInsert(L,i+1,i);
out(L);
int f=-1;
ListDelete(L,2,f);
out(L);
}