单链表的实现【数据结构】
思考:
1.是否能夠?qū)⒃瓉碇羔樀姆较蚋臑橄蚯爸赶蚰?#xff1f;
2.是否能夠有兩個指針域的操作呢?
了解:
單鏈表是應用最廣泛的一種形式,還有雙向鏈表以及循環(huán)鏈表,這些都是要進行討論的
結(jié)構(gòu)體定義的是什么?
結(jié)構(gòu)體定義的是單鏈表的結(jié)點所包含的內(nèi)容,包括數(shù)據(jù)域以及指針域,結(jié)構(gòu)一旦發(fā)生了變化,那么單鏈表的討論就要發(fā)生變化
管理單鏈表的兩種思考角度是什么?
第一種就是將單鏈表看作是一個整體,第二種就是將單鏈表看作是一個結(jié)點一個結(jié)點的串聯(lián)形式
單鏈表的頭指針一般不能進行修改:在進行重定義的時候,通常你會發(fā)現(xiàn)帶有LIST的名字,這種就是代表了單鏈表的頭,就是頭指針盡量不要進行對他修改,他記錄的是一個鏈表的首地址,不能將第一個地址弄丟,因為后面的地址是一個挨著一個進行連接在一起的,丟了一個就都丟了,就像是一條線穿著10條魚,距離第1條魚的線斷了,那么后面的10條魚就都要被丟棄了
小提示:
1.鏈式結(jié)構(gòu)當中是不存在存儲空間的浪費的,因為我們是動態(tài)進行內(nèi)存空間的分配的,有數(shù)據(jù)就開辟空間,沒有就不分配空間
尋找空間的兩種方式:在定義的時候我們起一個別名,利用別名的方式進行訪問,我們稱作是間接尋址,另外的一種是直接通過地址來進行詢問,叫做間接尋址,動態(tài)內(nèi)存分配就只返回一個地址,單鏈表當中的指針用法是很常見的
2.在數(shù)組當中訪問元素的方式是利用指針加加的方式,但是對于動態(tài)分配的線性表來說,是不能使用指針加加的方式來進行選址,
以結(jié)點的角度進行定義
單鏈表功能實現(xiàn)函數(shù)
指針指向的是起始地址,既不指向數(shù)據(jù)區(qū)也不指向指針區(qū)域,指向的是一個整體
delete函數(shù)的基本操作以及注意事項
總結(jié)
以上是生活随笔為你收集整理的单链表的实现【数据结构】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode170. 两数之和 II
- 下一篇: leetcode115 不同的子序列