顺序表的静态分配实现:
#define MaxSize 10
typedef struct
{
int length;
int data[MaxSize];
}SqList;
void InitSqList(SqList &L)
{
int i=0;
for(i=0;i<L.MaxSize;i++)
{
L.data[i]=0;
}
L.length=0;
}
void Insert(SqList &L, int i, int e)
{
int j=0;
if(i>L.length || i<1)
return;
for(j=L.length;j>=i;j--)
{
L.data[j]=L.data[j-1];
}
L.data[i-1]=e;
L.length++
}
void Delete(SqList &L, int i)
{
if(i>L.length || i<1)
return;
int j;
for(j=i;j<L.length;j++)
L.data[j-1]=L.data[j];
L.length--;
}
int SearchByValue(SqList &L, int i)
{
return L.data[i-1];
}
int SearchByPos(SqList &L, int e)
{
int i=0;
for(i=0;i<L.length;i++)
{
if(L.data[i]==e)
return i+1;
}
return 0;
}