国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

這篇具有很好參考價值的文章主要介紹了循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、循環(huán)單鏈表

二、循環(huán)雙鏈表


一、循環(huán)單鏈表

循環(huán)單鏈表的表尾結(jié)點的next指針總是指向頭結(jié)點。?

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

所以在初始化循環(huán)單鏈表的時候,需要記得將頭結(jié)點的next指針指向頭結(jié)點自己:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

判斷循環(huán)單鏈表是否為空,只要判斷頭結(jié)點的next指針是否指向自己就可以了,因為循環(huán)鏈表的最后一個結(jié)點的next指針總是指向頭結(jié)點的,如果為空,那就只能是頭結(jié)點的next指針指向自己了:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

判斷結(jié)點是否是循環(huán)單鏈表的表尾結(jié)點,只需判斷該結(jié)點的next指針是否指向頭結(jié)點即可,因為循環(huán)鏈表的最后一個結(jié)點的next指針總是指向頭結(jié)點的:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

循環(huán)單鏈表有一些重要的性質(zhì):1、從一個結(jié)點出發(fā),無論這個結(jié)點位于鏈表的哪里,都可以找到其他任何一個結(jié)點,而單鏈表不行。

2、在一些情況下,我們需要頻繁對鏈表的頭部和尾部進行操作,此時使用循環(huán)單鏈表就很有用,原因是對于單鏈表,已知頭結(jié)點,想找到最后一個結(jié)點的話,時間復雜度是O(n);但是對于循環(huán)單鏈表,我們可以一開始就把頭指針指向尾結(jié)點,這樣找到尾結(jié)點所需時間復雜度是O(1),因為尾結(jié)點的next指針總是指向頭結(jié)點,所以找到頭結(jié)點的時間復雜度也是O(1)。因此,循環(huán)單鏈表在這種情況下的表現(xiàn)明顯優(yōu)于普通的單鏈表。

二、循環(huán)雙鏈表

先拿雙鏈表和循環(huán)雙鏈表做個對比:

雙鏈表:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?循環(huán)雙鏈表:循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

在初始化循環(huán)雙鏈表的時候,需要記得將頭結(jié)點的前指針和后指針都指向頭結(jié)點自己:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?像這樣↓

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

根據(jù)以上性質(zhì),所以在判斷循環(huán)雙鏈表是否為空時,只需判斷頭指針的next指針是否指向頭結(jié)點自身即可:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

判斷當前結(jié)點時都是循環(huán)雙鏈表的表尾結(jié)點,只要判斷當前節(jié)點的next指針是否指向頭結(jié)點即可:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?

下面來看一下雙鏈表和循環(huán)雙鏈表在插入與刪除上的區(qū)別:

p結(jié)點之后插入s結(jié)點,雙鏈表的代碼是這樣的:

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

有一個明顯的缺陷,即當p結(jié)點正好是尾結(jié)點的話,代碼的第二句"p->next->piror=s"會出錯,因為p->next指向NULL;?但是如果是循環(huán)雙鏈表的話,上述代碼就是正確的,因為循環(huán)雙鏈表中,即使p是尾結(jié)點,它的next指針的指向也是非空的,因此就不會出錯了。

同理當刪除p的后繼節(jié)點q,雙鏈表的代碼↓

循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)

?q結(jié)點位于尾結(jié)點位置,雙鏈表代碼就會出錯,而循環(huán)鏈表不會。文章來源地址http://www.zghlxwxcb.cn/news/detail-483928.html

到了這里,關于循環(huán)鏈表詳解(循環(huán)單鏈表/循環(huán)雙鏈表)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 數(shù)據(jù)結(jié)構(gòu)-單鏈表-雙鏈表

    “收藏從未停止,練習從未開始”,或許有那么一些好題好方法,在被你選中收藏后卻遺忘在收藏夾里積起了灰?今天請務必打開你沉甸甸的收藏重新回顧,分享一下那些曾讓你拍案叫絕的好東西吧! H x ,表示向鏈表頭插入一個數(shù) x。 D k ,表示刪除第 k 個插入的數(shù)后面的數(shù)

    2024年02月15日
    瀏覽(162)
  • 【數(shù)據(jù)結(jié)構(gòu)】單鏈表 && 雙鏈表(鏈式和數(shù)組實現(xiàn))

    【數(shù)據(jù)結(jié)構(gòu)】單鏈表 && 雙鏈表(鏈式和數(shù)組實現(xiàn))

    ??? ??????? 歡迎來到小林的博客!! ?????????博客主頁:??小林愛敲代碼 ?????????博客專欄:?? 數(shù)據(jù)結(jié)構(gòu)與算法 ?????????社區(qū) :?? 進步學堂 ?????????歡迎關注:??點贊??收藏??留言 今天給大家?guī)硭膫€內(nèi)容,一個

    2024年02月01日
    瀏覽(97)
  • 【算法基礎】數(shù)據(jù)結(jié)構(gòu)| 單鏈表+雙鏈表 代碼實現(xiàn)+圖解+原理

    【算法基礎】數(shù)據(jù)結(jié)構(gòu)| 單鏈表+雙鏈表 代碼實現(xiàn)+圖解+原理

    博主簡介: 努力學習的預備程序媛一枚~ 博主主頁: @是瑤瑤子啦 所屬專欄: Java島冒險記【從小白到大佬之路】 因為瑤瑤子正在備戰(zhàn)藍橋杯和校內(nèi)ACM選拔賽,最近在學習算法相關的知識。我是借助 AcWing網(wǎng)站 來學習的,這篇文章是我學習就我學習內(nèi)容的一個筆記,其中的一些

    2024年02月01日
    瀏覽(139)
  • 【數(shù)據(jù)結(jié)構(gòu)】鏈表(單鏈表與雙鏈表實現(xiàn)+原理+源碼)

    【數(shù)據(jù)結(jié)構(gòu)】鏈表(單鏈表與雙鏈表實現(xiàn)+原理+源碼)

    博主介紹:?全網(wǎng)粉絲喜愛+、前后端領域優(yōu)質(zhì)創(chuàng)作者、本質(zhì)互聯(lián)網(wǎng)精神、堅持優(yōu)質(zhì)作品共享、掘金/騰訊云/阿里云等平臺優(yōu)質(zhì)作者、擅長前后端項目開發(fā)和畢業(yè)項目實戰(zhàn)?有需要可以聯(lián)系作者我哦! ??附上相關C語言版源碼講解?? ???? 精彩專欄推薦訂閱???? 不然下次找

    2024年01月24日
    瀏覽(638)
  • 【玩轉(zhuǎn)408數(shù)據(jù)結(jié)構(gòu)】線性表——雙鏈表、循環(huán)鏈表和靜態(tài)鏈表(線性表的鏈式表示 下)

    【玩轉(zhuǎn)408數(shù)據(jù)結(jié)構(gòu)】線性表——雙鏈表、循環(huán)鏈表和靜態(tài)鏈表(線性表的鏈式表示 下)

    ? ? ? ? 在前面的學習中,我們已經(jīng)了解到了鏈表(線性表的鏈式存儲)的一些基本特點,并且深入的研究探討了單鏈表的一些特性,我們知道,單鏈表在實現(xiàn)插入刪除上,是要比順序表方便的,但是,單鏈表中每個結(jié)點僅存在一個指針指向其后續(xù)結(jié)點,那么如果我們想要找

    2024年04月10日
    瀏覽(99)
  • 單鏈表與循環(huán)鏈表創(chuàng)建

    單鏈表 實現(xiàn) 錯例 在使用malloc函數(shù)開辟的空間中,不要進行指針的移動, 因為一旦移動之后可能出現(xiàn)申請的空間和釋放空間大小的不匹配 循環(huán)鏈表 單獨創(chuàng)建 實現(xiàn)方式一: 實現(xiàn)方式二:

    2024年01月18日
    瀏覽(19)
  • 單向-->不帶頭-->非循環(huán)鏈表(簡稱:單鏈表)

    單向-->不帶頭-->非循環(huán)鏈表(簡稱:單鏈表)

    目錄 一、鏈表的介紹 1.鏈表的概念 2.單鏈表的節(jié)點類型 3.單鏈表簡圖 二、單鏈表的增刪查改 1.單鏈表的頭插 2.單鏈表的尾插 3.單鏈表的頭刪 4.單鏈表的尾刪 5.單鏈表pos位置之后插入一個節(jié)點 6.單鏈表刪除pos位置后的一個節(jié)點 ? ? ? ? 鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順

    2024年02月13日
    瀏覽(11)
  • 當我與單鏈表分手后,在酒吧邂逅了雙向循環(huán)鏈表.....

    當我與單鏈表分手后,在酒吧邂逅了雙向循環(huán)鏈表.....

    鏈表的種類有8種,但我們最常用的為 無頭單向非循環(huán)鏈表 和 帶頭雙向循環(huán)鏈表 。 帶頭雙向循環(huán)鏈表? 當帶頭雙向循環(huán)鏈表只有 哨兵位頭 的時候,雙向鏈表的指向如下圖。 head-pre和head-next都是指向自己,這個是有巨大優(yōu)勢的,代碼實現(xiàn)會很方便。? 1. 無頭單向非循環(huán)鏈表

    2024年02月05日
    瀏覽(14)
  • [C語言實現(xiàn)]帶你手撕帶頭循環(huán)雙鏈表

    [C語言實現(xiàn)]帶你手撕帶頭循環(huán)雙鏈表

    目錄 什么是雙鏈表? 帶頭結(jié)點的優(yōu)勢: 雙鏈表的實現(xiàn): 眾所周知,順序表的插入和刪除有時候需要大量移動數(shù)據(jù),并且每次開辟空間都可能會浪費大量內(nèi)存和CPU資源,于是我們有了鏈表,我們之前已經(jīng)實現(xiàn)了單鏈表,我們可以發(fā)現(xiàn)單鏈表的一個劣勢——每次查找都必須從頭結(jié)

    2024年02月06日
    瀏覽(19)
  • 【數(shù)據(jù)結(jié)構(gòu)】 循環(huán)雙鏈表的基本操作 (C語言版)

    【數(shù)據(jù)結(jié)構(gòu)】 循環(huán)雙鏈表的基本操作 (C語言版)

    目錄 一、循環(huán)雙鏈表 1、循環(huán)雙鏈表的定義: 2、循環(huán)雙鏈表的優(yōu)缺點: 二、循環(huán)雙鏈表的基本操作算法(C語言)? ??1、宏定義 ?2、創(chuàng)建結(jié)構(gòu)體 3、循環(huán)雙鏈表的初始化? 4、循環(huán)雙鏈表按位查找 5、循環(huán)雙鏈表插入 6、循環(huán)雙鏈表查找 7、循環(huán)雙鏈表刪除 8、求循環(huán)雙鏈表長

    2024年01月22日
    瀏覽(99)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包