經過上篇對線性表的順序表示和實現能夠知道,在順序存儲結構的線性表中對某個元素的插入和刪除,其時間主要耗費在移動元素上,而移動元素的個數取決於插入和刪除元素的位置。算法
這句話我是在書上抄的 ~~( ﹁ ﹁ ) ~~~函數
本節咱們將討論線性表的另外一種表示方法——鏈式存儲結構,因爲它不要求邏輯上相鄰的元素在物理位置上也相鄰,所以它沒有順序存儲結構所具備的弱點,但同時也失去了順序表可隨機存取的優勢。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