01 静态链表
静态链表神似顺序表,不过它存储了指向下一节点的游标。
02 基本操作
静态链表是用数组的方式实现的链表。
03 初始化代码
void InitList(SLinkList &L){
for(int i=0; i<MaxSize;i++){
L[i].next=-2; // 将所有的空闲结点的 next 设置为 -2
}
L[0].next=-1; // 头结点设成 -1
}
04 插入一个节点
bool ListInsert(SLinkList &L,int i,ElemType e){
if(i<1 || i>LinkListLength(L)) return false; //i的位置不合法停止操作
int j;
for(j=1;j<MaxSize;j++){
if(L[j].next==-2) break; //找到第一个空结点,跳出循环
}
int temp=0;
for(int k=0;k<i-1;k++){
temp=L[temp].next; //找到i-1结点位置
}
L[j].next=L[temp].next; //令j结点的next等于i-1的next
L[j].data=e; //存入数据
L[temp].next=j; //令i-1结点的next等于j
return ture;
}
网友评论