線性表之鏈式存儲(一)

前言

上次咱們說到順序存儲有着查找方便的便利,是由於它是隨機存取的,但一樣的,增刪對於順序表有着難以忍受的複雜度,所以咱們引進了鏈表,它有着順序表沒有的優勢。
若是我讓你將兩個數組內的全部元素按照從大到小的順序排成一個大數組,你是否會選擇建立一個大數組來承載這個任務。若是是,那你就該好好學習一下這一節的內容了。數組

一.鏈表的概念

1.鏈表:n個結點組成的長鏈。
2.線性表之鏈式存儲(一)
3.根據結點的不一樣又分爲三種
(1).單鏈表:結點只有一個指針域
(2).雙鏈表:結點有兩個指針域,一個指向直接後繼,一個指向直接前趨。
(3).循環鏈表:首尾相連的鏈表爲循環鏈表
4.頭指針:指向第一個結點的指針
5.首元結點:是指存儲鏈表中第一個元素a1的結點
6.如上所舉例子,表長爲n;n=0時爲空表,此時,若是有頭節點,頭結點指針域爲空,無頭結點,頭指針爲空(即NULL)
6.頭節點:首元結點以前的一個結點(它的數據域通常是不須要存儲數據的,若是非要存儲,能夠存儲上表長),頭結點的好處咱們會在下面提到。
它與順序表的區別在於:
1.結點在存儲器中的位置是任意的,即邏輯上相鄰的數據元素在物理上不必定相鄰。
2.訪問時只能經過頭指針進入鏈表,並經過每一個結點的指針域依次向後順序掃描各點,因此尋找第一個結點和最後一個結點的所花費時間不等,即順序存取法。

線性表之鏈式存儲(一)
先寫到這裏,明天咱們將利用今天咱們所學的知識解決開篇提出的問題
,並介紹一系列對鏈表的操做,並在這些操做中,體現出頭結點的優勢。ide

相關文章
相關標籤/搜索