鏈表的基本定義與使用方法總結

自己救自己系列, 找工作刷題做點總結。明明還只是在校生,但我的頭髮就以爲自己是長在了程序猿頭上,自覺地脫落了。

 

鏈表那真是重要的不能再重要了,多刷多掌握。

詳細講的內容那真是太多了,參考這篇吧。http://c.biancheng.net/view/1570.html

 

1、鏈表的定義

     鏈表是數據結構中 線性表 的一種,它由一個個節點組成,每個節點都是一個數據結構。 鏈表的結點通常是動態分配、使用和刪除的。

2、鏈表的優點

      與數組相比:其存儲空間小

      與矢量vector相比:其插入刪除速度快,時間複雜度O(1)

3、鏈表的結構

      鏈表中的每個結點都包含  數據成員 和 指針。數據成員可有一個或者多個,指針只想下一節點。

4、鏈表的分類

     線性鏈表可分爲單鏈表,循環鏈表,雙鏈表

5、鏈表的聲明

      一般的單向表是這麼定義的:

struct ListNode
{
    DATATYPE value;      //定義數據成員
    ListNode *next;      //被聲明爲 ListNode 的指針
};

 

鏈表題目一般來說別的先不弄,先設置一個頭鏈表再說

ListNode* dummyhead = new ListNode(0);
dummyhead->next = pHead;

設置頭節點的好處在哪裏呢?

       主要是爲了將單節點的情況與其他情況操作統一。

       更詳細的優點見: https://www.cnblogs.com/youxin/p/3279391.html

不用的發在刷題時候會被很難受。比如這個 刪除鏈表的倒數第N個節點

 

 

這篇其實改了好久好幾次,因爲我所瞭解的並不多,暫時先放出來,以後繼續改進。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章