静态链表就是将数组实现单链表:
首先是获得空闲分量的下标:
int Malloc_SLL(StaticLinkList space)
{
int i = space[0].cur;
if( space[0].cur )
space[0].cur = space[i].cur;
   // 把它的下一个分量用来作为备用。
return i;
}
/* 在静态链表L中第i个元素之前插入新的数据元素e */
Status ListInsert( StaticLinkList L, int i, ElemType e )
{
    int j, k, l;
    k = MAX_SIZE - 1;    // 数组的最后一个元素
    if( i<1 || i>ListLength(L)+1 )
    {
        return ERROR;
    }
    j = Malloc_SLL(L);//首先是获得空闲分量的下标
    if( j )
    {
        L[j].data = e;
        for( l=1; l <= i-1; l++ )
        {
            k = L[k].cur;//这个就是不断地将游标作为索引查询下一个元素的游标,一致查到了i-1个元素。
        }
        L[j].cur = L[k].cur;//先将空闲处j处的游标指向上面得到i-1的下一个元素。
        L[k].cur = j;//将k的下表指向j
        return OK;
    }
    return ERROR;
}
原文:http://www.cnblogs.com/sengling/p/5541950.html