首页 > 代码库 > 静态链表

静态链表

用数组来描述一个链表

链表的大小是固定的

不能动态申请内存空间

技术分享

技术分享

数组首元素的游标指向第一个没有数据的下标地址,不存放数据

数组尾元素的游标指向第一个有数据的下标地址,不存放数据

未使用的数组称为备用链表

数组尾元素相当于头结点

最后一个有数据的元素游标为0

 技术分享

 

#include<iostream>using namespace std;const int size = 1000;//静态链表的数据结构typedef struct Node{	ElementType data;	int cur;}staticLink[size];//初始化静态链表void initiate(staticLink L){	L[0].cur = size - 1;	for (int i = 1; i < size - 1; i++)		L[i].cur = i + 1;	L[size - 1].cur = 0;}//获取备用链表元素位置int Malloc_SLL(staticLink L){	int i = L[0].cur;	if (i)	{		L[0].cur = L[i].cur;	}	return i;}//静态链表的插入操作void insert(int i, staticLink L, ElementType e){	int k = size-1;//尾节点的位置	int pos = Malloc_SLL(L);//备用链表位置	int j;	if (i<1 || i>Listlength(L) + 1)	{		return ERROR;	}	if (pos)	{		L[pos].data = http://www.mamicode.com/e;>

  

静态链表