<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 一.循環鏈表 當使用單鏈表進行遍歷的時候,我們只能從頭結點開始,尾結點結束,如果需要查看指針所指向結點的前面結點,我們又必須從頭結點開始遍歷。為了解決這個問題,我們便引入了雙鏈表,使其能夠雙向遍歷,但是它又引入了prior指針域,增加了額外的開銷。為此,我們便又引入了循環鏈表。所謂循環鏈表簡單來說就是表尾的指針域指向表頭從而使整個鏈表形成了一個閉環。 ### 1.1循環單鏈表 循環單鏈表和單鏈表的的區別在于,表中最后一個節點的指針域不是NULL,而是指向了頭結點,從而使整個鏈表形成一個環,如圖所示: ![循環單鏈表](https://box.kancloud.cn/2016-03-14_56e66947c8eda.jpg "") 在循環單鏈表中,表尾結點*r的next指針域指向頭結點head,故表中沒有指針域為NULL的結點。因此判斷循環單鏈表是否為空的條件便是頭結點的指針域是否指向自身。 循環單鏈表的插入,刪除操作與單鏈表的基本操作一致,但是當在表尾結點處進行插入,刪除操作時,必須注意不能使其斷鏈。同時我們應注意到,一般情況下,我們對鏈表的操作大部分集中在表尾,如此,我們對循環單鏈表并不設置頭指針,只設置一個尾指針,從而使得操作效率更高 ### 1.2循環雙鏈表 由循環單鏈表的定義我們很容易的便可以得到循環雙鏈表,但與循環單鏈表不同的是循環雙鏈表的尾結點的指針域next在指向頭結點的同時, 頭結點的prior指針域還必須指向尾結點。如圖所示: ![循環雙鏈表](https://box.kancloud.cn/2016-03-14_56e66947da0f8.jpg "") 循環雙鏈表中,鏈表為空的條件為頭結點的prior指針域和next指針域均指向自身節點。 ## 二.靜態鏈表 靜態鏈表是借助數組來描述線性表的鏈式存儲結構的,節點同樣有數據域data和“指針域”next,但與前面所講的指針不同的是,這里的“指針”是結點的相對地址(即數組下標),或稱為游標。因此它與順序表一樣,使用時必須預先分配一塊連續的內存空間。 靜態鏈表和單鏈表的對應關系如下圖所示: ![靜態鏈表示例](https://box.kancloud.cn/2016-03-14_56e66947ed518.jpg "") `(a). 靜態鏈表示例` ![靜態鏈接對應的單鏈表](https://box.kancloud.cn/2016-03-14_56e6694807f2f.jpg "") `(b). 靜態鏈接對應的單鏈表` 其數據結構描述如下: ~~~ #define MaxSize 50 typedef struct{ ElemType data; int next; }SLinkList[MaxSize]; ~~~ 靜態鏈表以`next==-1`作為其結束的標識。靜態鏈表的插入,刪除操作與動態鏈表無異,只需修改“指針”便可。總的來說,靜態鏈表沒有單鏈表使用起來方便,但是在沒有指針類型的高級程序設計語言(如Basic)中使用鏈表結構,卻又不失為一種巧妙的設計方法。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看