定義:什么是鏈表
????1、n個節(jié)點離散分布
????2、彼此通過指針相連
????3、每個節(jié)點只有一個前驅(qū)節(jié)點,每個節(jié)點只有一個后續(xù)節(jié)點
????4、首節(jié)點沒有前驅(qū)節(jié)點,尾節(jié)點沒有后續(xù)節(jié)點
專業(yè)術(shù)語:
????1、首節(jié)點:第一個存放有效數(shù)據(jù)的節(jié)點
????2、尾節(jié)點:最后一個存放有效數(shù)組的節(jié)點
????3、頭節(jié)點:頭節(jié)點的數(shù)據(jù)類型和首節(jié)點類型一樣,第一個存放有效數(shù)據(jù)節(jié)點(首節(jié)點)
???????之前的節(jié)點,頭節(jié)點不存放有效數(shù)據(jù),加頭節(jié)點的目的主要是為了方便對鏈表的操作。
????4、頭指針:指向頭節(jié)點的指針變量
????5、尾指針:指向尾節(jié)點的指針變量
如果希望通過一個函數(shù)來對鏈表進行處理,至少需要接受鏈表的哪些參數(shù):
????只需要一個參數(shù):頭指針
????因為通過頭指針可以推算出鏈表的其他所有信息
????一個節(jié)點整體來說只包含兩部分,一部分是數(shù)據(jù)域,一部分是指針域,
????數(shù)據(jù)域是節(jié)點存放的有效數(shù)據(jù),指針域是指向下一個與自身類型一樣的節(jié)點
分類:
????1、單向鏈表
????2、雙向鏈表
?????? 每一個節(jié)點有兩個指針域
????3、循環(huán)鏈表
???????能通過任何一個節(jié)點找到其他所有的節(jié)點,尾節(jié)點指向頭節(jié)點
????4、非循環(huán)鏈表
算法:
????1、遍歷
????2、查找
????3、清空
????4、銷毀
????5、求長度
????6、排序
????7、刪除節(jié)點
????8、插入節(jié)點
????9、反轉(zhuǎn)