静态分配,包含创建、初始化、插入与删除。
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //静态分配
typedef struct
{
int data[MaxSize];
int length;
}SqList;
void InitList(SqList &L)
{
// for(int i = 0; i < MaxSize; i++)
// {
// L.data[i] = 0;
// } //可以不初始化为0
L.length = 0; //这个必须有
}
bool ListInsert(SqList &L,int i,int e)
{
if(i < 1)
{
return false;
}
if(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++;
}
bool ListDelete(SqList &L,int i,int &e)
{
if(i < 1)
{
return false;
}
if(i > L.length+1)
{
return false;
}
e = L.data[i-1];
for(int j=i;j<L.length;j++)
{
L.data[j-1]=L.data[j];
}
L.length--;
}
int main()
{