

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、深入分析Linux內核鏈表級別:初級楊沙洲(pubb@)國防科技大學計算機學院2004年8月01日本文詳細分析了2.6.x內核中鏈表結構的實現,并通過實例對每個鏈表操作接口進行了詳盡的講解。一、一、鏈表數據結構簡介鏈表數據結構簡介鏈表是一種常用的組織有序數據的數據結構,它通過指針將一系列數據節(jié)點連接成一條數據鏈,是線性表的一種重要實現方式。相對于數組,鏈表具有更好的動態(tài)性,建立鏈表時無需預先知道數據總量,可以隨機分配空間,可以高效地在鏈
2、表中的任意位置實時插入或刪除數據。鏈表的開銷主要是訪問的順序性和組織鏈的空間損失。通常鏈表數據結構至少應包含兩個域:數據域和指針域,數據域用于存儲數據,指針域用于建立與下一個節(jié)點的聯系。按照指針域的組織以及各個節(jié)點之間的聯系形式,鏈表又可以分為單鏈表、雙鏈表、循環(huán)鏈表等多種類型,下面分別給出這幾類常見鏈表類型的示意圖:1單鏈表單鏈表圖1單鏈表單鏈表單鏈表是最簡單的一類鏈表,它的特點是僅有一個指針域指向后繼節(jié)點(next),因此,對單鏈表
3、的遍歷只能從頭至尾(通常是NULL空指針)順序進行。2雙鏈表雙鏈表圖2雙鏈表雙鏈表通過設計前驅和后繼兩個指針域,雙鏈表可以從兩個方向遍歷,這是它區(qū)別于單鏈表的地方。如果打亂前驅、后繼的依賴關系,就可以構成“二叉樹“;如果再讓首節(jié)點的前驅指向鏈表尾節(jié)點、尾節(jié)點的后繼指向首節(jié)點(如圖2中虛線部分),就構成了循環(huán)鏈表;如果設計更多的指針域,就可以構成各種復雜的樹狀數據結構。3循環(huán)鏈表循環(huán)鏈表2010919深入分析Linux內核鏈表develo
4、perwks…lchain19三、三、鏈表操作接口鏈表操作接口1.聲明和初始化聲明和初始化實際上Linux只定義了鏈表節(jié)點,并沒有專門定義鏈表頭,那么一個鏈表結構是如何建立起來的呢?讓我們來看看LIST_HEAD()這個宏:#defineLIST_HEAD_INIT(name)除了用LIST_HEAD()宏在聲明的時候初始化一個鏈表以外,Linux還提供了一個INIT_LIST_HEAD宏用于運行時初始化鏈表:#defineINIT_L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入分析 linux 內核鏈表
- 深入分析_linux_內核鏈表
- 深入分析區(qū)間型動態(tài)規(guī)劃
- 鏈家地產---深入分析報告
- 慢病管理商業(yè)模式深入分析
- 深入分析mfc文檔視圖結構(項目實踐)
- [學習]對服務業(yè)組織的深入分析
- linux內核
- linux內核分析 - 網絡[五]網橋
- 深入分析led光衰的重要原因
- 鋼橋橋面鋪裝力學特性深入分析.pdf
- linux內核搶占實現機制分析
- linux內核(kemel)版本
- linux內核調度器分析及模擬.pdf
- LINUX內核ROOTKIT的分析及實現.pdf
- Linux內核分析及實時性改造.pdf
- 赫拉與特提斯-深入分析巨蟹座神話
- Linux操作系統(tǒng)內核分析與研究.pdf
- 深入分析經濟增長、貨幣供給與通貨膨脹的關系
- linux啟動流程分析---內核解壓縮過程
評論
0/150
提交評論