1. 程式人生 > >C連結串列的學習方法分享

C連結串列的學習方法分享

最近在整理手機終端需要用到一些資料結構,為後面的兩個比較大的專案做準備,所以狠狠地花了一些時間專門複習了底層的資料結構,特別在連結串列、二叉樹、雜湊表,由於以前研究得不深入,這次看的時候就很打腦殼了!這個篇文章專門是我學習的方法分享給大家,如果不適合你,或者有說錯的地方,請噴子勿噴,直接跳過。  什麼是連結串列? 我建議首先去查下百度百科,搞清楚什麼是儲存單元?連結串列?的文字敘述,然後完完全全把指標搞懂了再往下看吧,不然你真會蒙。  連結串列我們常見的有:單鏈表,雙向連結串列,靜態連結串列。這裡我以單鏈表分享作為舉一反三: 連結串列是一系列節點組成的,而節點又包括資料域和指標域兩部分,所以每個連結串列都有一個頭指標,而通過頭指標就可以找到第一個節點了,每一個我節點可以通過指標域找到它的後繼,但是要注意的是最後一個節點的指標域為NULL,表示沒有後繼。如圖:
注意:head就是頭指標,指向的第一個節點,每個節點的next指標域指向下一個節點,最後一個節點的next指標域為NULL,但是我們要特別注意的是:陣列在記憶體中是連續存放的,而連結串列在記憶體中的佈局是不規則的,我們知道訪問某個陣列元素b【n】時可以通過基地址+nx每個元素的位元組數得到它地址,或者說陣列支援隨機訪問,而連結串列時不支援隨機訪問的 其實連結串列理解起來並不難,以單鏈表為例,可以很好的舉一反三;難得是連結串列的操作,我們都知道:程式=演算法 +資料結構 我給大家介紹的學習方法就在這了,連結串列的操作希望互相學習,進步! 下期介紹:shell指令碼詳解用於移動端iOS開發 新浪微博號:TangyangDev    感謝關注 轉載時請標明出處!