静态链表

什么是静态链表?

当你学完线性表和数组,紧接着的静态链表,让你摸不着 ,什么是静态链表呢。简而言之就是链表和数组/顺序表的结合,我们知道数组有下标,但是每个数据域之间没有指针,因为他们顺序的占有一块连续的空间,链表的存在也是为了改善数组的连续存储带来的空间浪费。

但是我们知道没什么东西是尽善尽美的,即便是链表改善了现在的存储结构,但是同样的也增加了指针与指针的内存,结合社会发展,我们只能根据我们的情况进行合理的选择。

虽然我不知道静态链表存在的意义或者使用的方式适哪里,但是既然存在,我们就有可能会用得到。

静态链表的结构

想要理解静态链表的结构并不难,这里先放一张图:

https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=190996640,4075547196&fm=26&gp=0.jpg

其实,静态链表是用数组代替指针的方式来的,其实在整个链表中,没有像单链表中存在的指针,他是将数组的元素进行了分割。

分割成了两部,分,两个数据域,data和cur,data数据域是用来存放数据元素的,cur则是用来当做游标,就是类似于单链表中的next的指针,举个例子就是说比如1元素的下标是1,,但他的cur存的是下一个游标2。这也就是图中为什么需要一个空的头结点。

静态链表的各种操作

这个地方很抱歉我没有具体试验过的程序,我只能把我理解的讲给你听,比较简单,但主要是方便学习者的理解。

静态链表的插入操作

静态链表与数组最大的不同在于cur这个数据域,因为他相当于承担了单链表中指针的功能。所以再进行插入操作时,他的方式就有些变化!

现在假定有一个静态链表,你想把一个名为G的元素插在第三位B的后面。

首先把G元素添加到静态链表,因为静态链表本质上是数组,所以,G现在是最后一位,假定此时G在第7位上。

接下来,我们将第三位的B的cur修改,原先的cur应该指向的是第四位,(假定第四位的元素是C,第五位是元素D)我们将它改为第七位的G。

然后我们再把G的cur改为原本的第四位。

这样,当我们再次遍历这个数组的时候,顺序就是BGCD。

其实这与我们想象的插入不一样,仅仅是改变了指针,但是在我们使用的时候,效果是一样的。

静态链表的删除操作

有了刚刚静态链表的插入操作,剩下的你就好理解了。

当我们进行删除时,用到的是free()

当指定的某个位置的数据域空了,他的数据不存在,我们要做就是将剩下的数据完整的连在一起。

加入下标为32的元素被删除了,那么。下标为32的部分会被空出来,那么下标31和33就会断层,我们仅仅把31 的游标改为33就可以对这个静态链表继续使用。

静态链表的优缺点


优点:

在进行插入删除的操作时,仅仅改变游标就可以了,不用移动元素,改进了顺序存储结构

缺点:

1.没能解决连续存储本身的物理问题。

2.失去了顺序存储结构随机存取的特性。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343