静态链表

2021-06-10  本文已影响0人  TPEngineer

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;

}

上一篇 下一篇

猜你喜欢

热点阅读