链表的代码实现【数据结构F】
單鏈表的特點(diǎn):每次結(jié)點(diǎn)的分配都是動(dòng)態(tài)進(jìn)行分配的,melloc函數(shù)實(shí)現(xiàn)的功能是開辟一塊新的內(nèi)存空間,但是返回的是一個(gè)地址,只能是地址,沒(méi)有別名的事情,那就有點(diǎn)難辦了,這是一種間接的尋址,不像數(shù)組那樣,可以通過(guò)名字進(jìn)行直接尋址,間接尋址就是必須找到第一個(gè)元素的位置,通過(guò)第一個(gè)元素的位置,依次尋找其余元素的位置,很是不方便的,用一個(gè)指針變量來(lái)記錄開辟的那一塊地址空間,沒(méi)有辦法,說(shuō)是把他賦予一個(gè)新的別名,也就是說(shuō)節(jié)點(diǎn)沒(méi)有別名,
位序:位序在單鏈表當(dāng)中是比較模糊的概念,位序不像是角標(biāo)一樣,有單獨(dú)的存儲(chǔ)空間,很方便,這個(gè)位序會(huì)根據(jù)插入元素的位置來(lái)進(jìn)行變化,變化了。我們進(jìn)行使用的時(shí)候就要進(jìn)行遍歷操作,很麻煩
為什么會(huì)提到逆序?
我們插入的時(shí)候?yàn)槭裁床捎媚嫘虿迦氲姆椒?#xff1f;
如果我們按照正常的插入,那么每一次插入都要從第1個(gè)元素開始去尋找,后面所插入的位置,也就相當(dāng)于是每插入一個(gè)元素,就要對(duì)鏈進(jìn)行一次遍歷,這樣增加了時(shí)間復(fù)雜度,使得效率大大降低,當(dāng)我們采用逆襲插入的方法,每一次插入都可以在第1個(gè)位置插入,改變的只是頭節(jié)點(diǎn)的指針和第1個(gè)元素的指針,前面插入的元素都依次向后移動(dòng),但是位序?qū)τ阪湵韥?lái)說(shuō)是非常模糊的概念,這里就不進(jìn)行討論
單鏈表的正向創(chuàng)建
總結(jié)
以上是生活随笔為你收集整理的链表的代码实现【数据结构F】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: leetcode213 打家劫舍II
- 下一篇: 顺序存储线性表实现