小螞蟻學習數據結構(3)——線性結構——線性表的鏈式表示和實現(上)

    經過上篇對線性表的順序表示和實現能夠知道,在順序存儲結構的線性表中對某個元素的插入和刪除,其時間主要耗費在移動元素上,而移動元素的個數取決於插入和刪除元素的位置。算法

    這句話我是在書上抄的    ~~( ﹁ ﹁ ) ~~~函數

    本節咱們將討論線性表的另外一種表示方法——鏈式存儲結構,因爲它不要求邏輯上相鄰的元素在物理位置上也相鄰,所以它沒有順序存儲結構所具備的弱點,但同時也失去了順序表可隨機存取的優勢。spa

    這句話也我是在書上抄的    ┗( T﹏T )┛.net

鏈表是 樹和圖 的基礎,很是重要。指針

typedef  爲數據類型起個別名blog

格式: 排序

typedef int allen;ci

typedef struct Studen{get

}xiaoai;博客

原名和別名均可以使用

typedef struct Student

{

    int sid;

    ...

}* PST;    // 等價於struct Student *    類型

typedef stuct Student

{

    ......

}* PSTU,STU;

// 等價於 STU 表明了 stuct Student,PSTU 表明了 stuct Student *

離散存儲

    定義:

        n個節點離散分配

        彼此經過指針相連

        每一個節點只有一個前驅節點,每一個節點只有一個後續節點

        首節點沒有前驅節點,尾節點沒有後續節點

        專業術語:

            首節點:第一個有效的節點

            尾節點:最後一個有效節點

            頭節點:第一個有效節點以前的那個節點,頭節點並不存放有效數據

                加頭節點的目的是爲了方便對鏈表操做

                頭結點的數據類型和首節點類型同樣。

            頭指針:指向頭節點的指針變量

            尾指針:指向尾節點的指針

        若是但願經過一個函數對鏈表進行處理,至少須要接收鏈表的哪些參數?

            只須要一個參數,就是頭指針,經過頭指針能夠推算出鏈表的其餘全部信息

        第17講 完

    分類:

        單鏈表:只能有一個指針域,指向後一個節點

        雙鏈表:每個節點有兩個指針域

        循環鏈表:能經過任何一個節點找到其餘全部的節點,尾節點指向頭節點

        非循環鏈表:

    須要實現的算法:

        遍歷:把全部的元素找到

        查找:

            清空

            銷燬

            求長度

            排序

            插入節點

            刪除節點

    代碼今天尚未寫完,明天再寫吧。

    立刻就要2016年了,但願在新的一年裏,技術水平可以更上一層樓,生活上簡單開心就好。

    嗯,就這樣吧    \(≧▽≦)/


學PHP的小螞蟻 博客 http://my.oschina.net/woshixiaomayi/blog

相關文章
相關標籤/搜索