1.3 静态链表

静态链表类似于并查集,静态链表不具有分支结构。

复制代码
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 50

// 在一些不支持指针的高级语言中,使用静态链表构建单链表是一种非常巧妙的方法。
// 静态链表以-1作为结束标志。静态链表的修改只需要移动指针,不需要移动数据。静态链表同样是从数组下标0开始存储元素。
typedef struct node{
    int data;
    int next;          // 静态链表以整形数据存储数组下标
}SLinkList[MaxSize];

void TraverseL(struct node *L){
    int i=0;
    while(i!=-1){
        printf("%d\n",L[i].data);
        i=L[i].next;
    }
}

int main(){
    SLinkList L;       // 数组名,本来就是地址
    L[0].data=1;  L[0].next=3;
    L[1].data=4;  L[1].next=1;
    L[2].data=9;  L[2].next=4;
    L[3].data=3;  L[3].next=2;
    L[4].data=8;  L[4].next=-1;   // 静态链表以-1作为结束标志
    TraverseL(L);

    return 0;
}
复制代码

 

posted @   aascn  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
点击右上角即可分享
微信分享提示