静态链表C语言数据结构

Posted 小苹果小可爱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态链表C语言数据结构相关的知识,希望对你有一定的参考价值。

静态链表就是将数组实现单链表:

首先是获得空闲分量的下标:
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;
}

 

以上是关于静态链表C语言数据结构的主要内容,如果未能解决你的问题,请参考以下文章

静态链表代码

数据结构:静态链表(C语言描述)

静态链表C语言数据结构

静态链表循环链表双向链表(C代码实现)

c语言:建立简单的静态链表,它由3个学生数据的结点组成,要求输出各结点的数据

静态链表过程演示及代码实现(A - B) U (B - A)