久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


嵌入式linux內核數據結構之循環鏈表

分享到:
           

    鏈表作為嵌入式Linux內核中常見的數據結構,在之前的文章里我們分別介紹過了單向鏈表雙向鏈表,今天主要介紹的(de)則是循環列表。

    單向(xiang)(xiang)(xiang)鏈表(biao)(biao)的后一(yi)個節點的指針域為空(NULL)。如果將這個指針利(li)用起來,以指向(xiang)(xiang)(xiang)單向(xiang)(xiang)(xiang)鏈表(biao)(biao)的第(di)一(yi)個節點,就能組成一(yi)個單向(xiang)(xiang)(xiang)循(xun)環鏈表(biao)(biao),如圖1.1所示。


圖1.1 循(xun)環鏈表結(jie)構

    可以看到,循(xun)環鏈(lian)(lian)表(biao)的(de)(de)組織結構與單(dan)鏈(lian)(lian)表(biao)非常(chang)相似,因此其操作與單(dan)鏈(lian)(lian)表(biao)也是(shi)一致(zhi)的(de)(de),惟一的(de)(de)差別僅在于在單(dan)鏈(lian)(lian)表(biao)中,算法判(pan)端到達鏈(lian)(lian)表(biao)尾的(de)(de)條件是(shi)p→next是(shi)否為空,而在雙鏈(lian)(lian)表(biao)中,則是(shi)判(pan)斷p→next是(shi)否等于頭指針。

    總而言之,循(xun)環鏈表的(de)運算與單鏈表的(de)運算基本一致,所(suo)不同的(de)有以下幾點:

    1、在建立一(yi)(yi)(yi)個(ge)(ge)循環(huan)鏈(lian)表(biao)時,必須使其后一(yi)(yi)(yi)個(ge)(ge)結(jie)點的指針指向表(biao)頭結(jie)點,而不(bu)是像單鏈(lian)表(biao)那(nei)樣(yang)置為NULL。此種情況還使用于在后一(yi)(yi)(yi)個(ge)(ge)結(jie)點后插入一(yi)(yi)(yi)個(ge)(ge)新的結(jie)點。

    2、在判(pan)(pan)斷(duan)(duan)是(shi)(shi)否(fou)(fou)到(dao)表尾時(shi),是(shi)(shi)判(pan)(pan)斷(duan)(duan)該結點鏈(lian)域(yu)的值(zhi)(zhi)是(shi)(shi)否(fou)(fou)是(shi)(shi)表頭(tou)結點,當鏈(lian)域(yu)值(zhi)(zhi)等于表頭(tou)指針時(shi),說明(ming)已到(dao)表尾。而(er)非像單鏈(lian)表那樣(yang)判(pan)(pan)斷(duan)(duan)鏈(lian)域(yu)值(zhi)(zhi)是(shi)(shi)否(fou)(fou)為NULL。

    表(biao)1.1總(zong)結(jie)了各種鏈表(biao)的異同(tong)點。

  ;  表(biao)1.1                                     各種鏈表(biao)的(de)異同(tong)點

單 向 鏈 表 雙 向 鏈 表 單向循環鏈表 雙向循環鏈表
指針域 Next next,priv Next next,priv
結尾指針 NULL NULL 頭指針 頭指針
內存占用 較少 較多 較少 較多
操作靈活性 較不靈活,每次搜索都必須從頭指針開始,不能反向搜索 較為靈活,搜索時可以反向搜索,但也從頭指針開始搜索 較為靈活,搜索時可以不從頭指針開始,但不能反向搜索 非常靈活,搜索時可以不從頭指針開始,且可以反向搜索
時間復雜度 O(N) O(N) O(N) O(N)
空間復雜度 O(N) O(N) O(N) O(N)

   熱點鏈接:

   1、嵌入式linux內核數據結構之雙向鏈表
   2、嵌入式linux內核數據結構之單向鏈表
   3、Linux內核模塊程序結構
   4、嵌入式Linux內核如何編譯
   5、嵌入式Linux開發學習

更多新聞>>