数据结构 ---- 静态链表

作为数据结构的一大难点,静态链表也为我们更好的理解数据结构这门课做了铺垫。记得老师告诉我们,数据结构是操作系统的核心,那静态链表也为我们理解操作系统等方面的工程起了很好的铺垫作用。对于静态链表,我个人的主观感受就是,比双链表要难许多,毕竟是涉及到数据更加基本的存储,静态链表其实更能反映其本质,也更能体现出C语言本身的魅力。

与此同时,静态链表带给我的直观感受是,它其实对于我们程序员来说,具有更强的自我操作性,对于我们来操作数据的时候,可控性更强,不再局限于操作系统了。可以以此实现更多的操作。

在我看来,链表和静态链表之间虽然都是依靠上一个数据存储下一个数据的地址,但是两者还是有区别的:

1.静态链表的地址较为可控,可以自己去操控修改。而普通链表则是要依靠操作系统分配的内存实现。

2.静态链表可以检测空间是否被使用的状态,方便我们去操作空间,并且架构较为清晰。可以说是又两个单链表去组成的,但两个单链表又不是毫无关系,两者可以说是相连的。

下面是我的代码:

#include <stdio.h>
#include <malloc.h>

#define DEFAULT_SIZE 5

typedef struct StaticLinkedNode
{
	char data;
	
	int next;
} *NodePtr;

typedef struct StaticLinkedList
{
	NodePtr nodes;
	int *used;
} *ListPtr;

ListPtr initLinkedList()
{
	ListPtr tempPtr = (ListPtr)malloc(sizeof(struct StaticLinkedList));
	
	t
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值