首页 > 其他 > 详细

1.3 静态链表

时间:2019-05-03 20:46:18      阅读:137      评论:0      收藏:0      [点我收藏+]

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

#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;
}

 

1.3 静态链表

原文:https://www.cnblogs.com/Alexagender/p/10806218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!