首页 > 代码库 > 静态链表
静态链表
用数组来描述一个链表
链表的大小是固定的
不能动态申请内存空间
数组首元素的游标指向第一个没有数据的下标地址,不存放数据
数组尾元素的游标指向第一个有数据的下标地址,不存放数据
未使用的数组称为备用链表
数组尾元素相当于头结点
最后一个有数据的元素游标为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;>
静态链表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。