#include <stdio.h>
#define MaxSize 10
typedef struct{
int data[MaxSize];
int length;
}SqList;
void InitList(SqList &L){
L.length = 0;
}
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 - 1; 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 *e)
{
int k;
if(L->length==0){
return false;
}
if(i < 1 || i > L->length){
return false;
}
*e = L->data[i-1];
if(i<L->length)
{
for(k=1; k<L->length; k++){
L->data[k-1] = L->data[k];
}
L->data[k-1] = L->data[k];
}
L->length --;
return true;
}
int main(){
SqList L;
InitList(L);
ListInsert(&L, 1, 5);
ListInsert(&L, 2, 0);
int e;
ListDelete(&L, 1, &e);
for(int i = 0; i < L.length; i++){
printf("data{%d}=%d\n", i, L.data[i]);
}
return 0;
}
|