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

雙向鏈表的構(gòu)建

這篇具有很好參考價(jià)值的文章主要介紹了雙向鏈表的構(gòu)建。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

上篇內(nèi)容給大家?guī)砹藛捂湵淼臉?gòu)建,那么本期內(nèi)容繼續(xù)給大家?guī)礞湵淼南嚓P(guān)內(nèi)容----雙向鏈表。

什么是雙向鏈表?雙向鏈表與單鏈表有什么區(qū)別?

在單鏈表中,咱們每個(gè)結(jié)點(diǎn)的指針域存放了后繼指針,以便于鏈接每個(gè)結(jié)點(diǎn),隨后講到按位查找,從頭結(jié)點(diǎn)開始,設(shè)置工作指針來不斷延續(xù)搜索,然后找到該結(jié)點(diǎn)并返回其位置,But如果我們想要找到該結(jié)點(diǎn)的前驅(qū)結(jié)點(diǎn)怎么辦呢?因?yàn)槲覀兠總€(gè)結(jié)點(diǎn)的指針域存放的是后繼結(jié)點(diǎn)的地址,所以我們還需要重新查找該鏈表,那么這個(gè)時(shí)候的時(shí)間復(fù)雜度會(huì)有所提升,這個(gè)時(shí)候我們就要使用雙向鏈表了。

雙向鏈表與單鏈表的區(qū)別無非是其指針域內(nèi)存放的是前驅(qū)結(jié)點(diǎn)的地址和后繼節(jié)點(diǎn)的位置。那么我們采用結(jié)構(gòu)體的形式來定義雙向鏈表:

typedef struct Node
{
	int data;//數(shù)據(jù)域
	struct Node* prior;//前驅(qū)
	struct Node* next;//后繼
}node,*linklist;

我們了解到了雙向鏈表的定義,接下倆我們就要探討插入操作了。

我們?cè)诓迦胍粋€(gè)結(jié)點(diǎn)的時(shí)候要保證其與前后結(jié)點(diǎn)能夠鏈接,而雙向鏈表每兩個(gè)結(jié)點(diǎn)之間擁有兩條線,所以這個(gè)時(shí)候就需要鏈接四條線(兩前驅(qū)+兩后繼),舉個(gè)例子:當(dāng)前要把結(jié)點(diǎn)p插入到結(jié)點(diǎn)s的后面:p的前驅(qū)指向s,p的后繼指向s的后繼,s的后繼指向p,s的后繼的前驅(qū)指向p。

p->prior = s;
p->next = s->next;
s->next = p;
s->next->prior = p;

完整的插入代碼與單鏈表的代碼差不多,這里就不給大家展示了,大家可以看我上期博客講述的單鏈表的插入。

接下來咱們?cè)撜f一下如何刪除結(jié)點(diǎn)p?

首先我們要斷開四條線,讓p的前驅(qū)與p的后繼鏈接起來,所以就只需要鏈接兩條線就可以了。

p的前驅(qū)的后繼指向p的后繼,p的后繼的前驅(qū)指向p的前驅(qū)。

p-prior->next = p->next;
p->next->prior = p->prior;

?其實(shí)理解也就是表述p的前后地址,然后讓p的前驅(qū)與p的后繼相連的過程。

想刪除建立的雙向鏈表,直接構(gòu)造一個(gè)析構(gòu)函數(shù),設(shè)置一個(gè)工作指針(負(fù)責(zé)記錄刪除的結(jié)點(diǎn)的指針域指向的位置),用delete釋放就over了。

好了本期內(nèi)容就到這里了,感謝收看,希望給個(gè)三連支持。文章來源地址http://www.zghlxwxcb.cn/news/detail-795017.html

到了這里,關(guān)于雙向鏈表的構(gòu)建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 探索數(shù)據(jù)結(jié)構(gòu):雙向鏈表的靈活優(yōu)勢(shì)

    探索數(shù)據(jù)結(jié)構(gòu):雙向鏈表的靈活優(yōu)勢(shì)

    ?? 歡迎大家來到貝蒂大講堂?? ????養(yǎng)成好習(xí)慣,先贊后看哦~???? 所屬專欄:數(shù)據(jù)結(jié)構(gòu)與算法 貝蒂的主頁:Betty’s blog 前面我們學(xué)習(xí)了單鏈表,它解決了順序表中插入刪除需要挪動(dòng)大量數(shù)據(jù)的缺點(diǎn)。但同時(shí)也有仍需改進(jìn)的地方,比如說:我們有時(shí)候需要尋找某個(gè)節(jié)點(diǎn)

    2024年03月16日
    瀏覽(24)
  • 數(shù)據(jù)結(jié)構(gòu):雙向鏈表的實(shí)現(xiàn)(C實(shí)現(xiàn))

    數(shù)據(jù)結(jié)構(gòu):雙向鏈表的實(shí)現(xiàn)(C實(shí)現(xiàn))

    個(gè)人主頁 : 個(gè)人主頁 個(gè)人專欄 : 《數(shù)據(jù)結(jié)構(gòu)》 《C語言》 本篇博客,將要實(shí)現(xiàn)的是 帶頭雙向循環(huán)鏈表 ,該結(jié)構(gòu)實(shí)現(xiàn)尾插,尾刪只需要O(1)的時(shí)間復(fù)雜度。 其結(jié)構(gòu)如下所示: 既然要實(shí)現(xiàn)的鏈表是雙向循環(huán)的,那么對(duì)于指針域,我們就需要 指向節(jié)點(diǎn)上一個(gè)的指針 和 指向節(jié)點(diǎn)

    2024年02月14日
    瀏覽(22)
  • 【數(shù)據(jù)結(jié)構(gòu)】鏈表:帶頭雙向循環(huán)鏈表的增刪查改

    【數(shù)據(jù)結(jié)構(gòu)】鏈表:帶頭雙向循環(huán)鏈表的增刪查改

    本篇要分享的內(nèi)容是帶頭雙向鏈表,以下為本片目錄 目錄 一、鏈表的所有結(jié)構(gòu) 二、帶頭雙向鏈表 2.1尾部插入 2.2哨兵位的初始化 2.3頭部插入 2.4 打印鏈表 2.5尾部刪除 2.6頭部刪除 ?2.7查找結(jié)點(diǎn) 2.8任意位置插入 2.9任意位置刪除? 在剛開始接觸鏈表的時(shí)候,我們所學(xué)僅僅所學(xué)的

    2024年02月05日
    瀏覽(29)
  • 【數(shù)據(jù)結(jié)構(gòu)】—帶頭雙向循環(huán)鏈表的實(shí)現(xiàn)(完美鏈表)

    【數(shù)據(jù)結(jié)構(gòu)】—帶頭雙向循環(huán)鏈表的實(shí)現(xiàn)(完美鏈表)

    鏈表結(jié)構(gòu)一共有八種形式,在前面的文章里已經(jīng)講完了不帶頭單向非循環(huán)鏈表的實(shí)現(xiàn),但是我們發(fā)現(xiàn)該鏈表實(shí)現(xiàn)尾插與尾刪時(shí)比較麻煩,要先從頭節(jié)點(diǎn)進(jìn)行遍歷,找到尾節(jié)點(diǎn),時(shí)間復(fù)雜度為O(N),而本次所講的帶頭雙向循環(huán)單鏈表,則可以直接找到尾節(jié)點(diǎn)。 雖然該鏈表看起來

    2024年01月25日
    瀏覽(18)
  • 【數(shù)據(jù)結(jié)構(gòu)】雙向鏈表的增刪查改(C 代碼實(shí)現(xiàn))

    【數(shù)據(jù)結(jié)構(gòu)】雙向鏈表的增刪查改(C 代碼實(shí)現(xiàn))

    引入雙向鏈表:關(guān)于單鏈表的問題與討論 單鏈表存在的毛?。?因?yàn)閱捂湵?只能單向 遍歷鏈表, 對(duì)于 前插 這個(gè)操作,單鏈表必 須得找到所需前插節(jié)點(diǎn)位置的前一個(gè) ,那么這時(shí)就得 從頭指針重新遍歷一次 鏈表,會(huì)造成時(shí)間復(fù)雜度大大增加。 沒有頭節(jié)點(diǎn)(哨兵位)無法刪除

    2024年02月08日
    瀏覽(99)
  • 數(shù)據(jù)結(jié)構(gòu):鏈表基礎(chǔ)OJ練習(xí)+帶頭雙向循環(huán)鏈表的實(shí)現(xiàn)

    數(shù)據(jù)結(jié)構(gòu):鏈表基礎(chǔ)OJ練習(xí)+帶頭雙向循環(huán)鏈表的實(shí)現(xiàn)

    目錄 一.leetcode劍指 Offer II 027.?回文鏈表 1.問題描述 2.問題分析與求解 (1) 快慢指針法定位鏈表的中間節(jié)點(diǎn) (2)?將鏈表后半部分進(jìn)行反轉(zhuǎn) 附:遞歸法反轉(zhuǎn)鏈表 (3)?雙指針法判斷鏈表是否回文 二.帶頭雙向循環(huán)鏈表的實(shí)現(xiàn) 1.頭文件 2.節(jié)點(diǎn)內(nèi)存申請(qǐng)接口和鏈表初始化接口 3.鏈表的打

    2024年02月02日
    瀏覽(31)
  • 數(shù)據(jù)結(jié)構(gòu):圖文詳解雙向鏈表的各種操作(頭插法,尾插法,任意位置插入,查詢節(jié)點(diǎn),刪除節(jié)點(diǎn),求鏈表的長度... ...)

    數(shù)據(jù)結(jié)構(gòu):圖文詳解雙向鏈表的各種操作(頭插法,尾插法,任意位置插入,查詢節(jié)點(diǎn),刪除節(jié)點(diǎn),求鏈表的長度... ...)

    目錄 一.雙向鏈表的概念 二.雙向鏈表的數(shù)據(jù)結(jié)構(gòu) 三.雙向鏈表的實(shí)現(xiàn) 節(jié)點(diǎn)的插入 頭插法 尾插法 任意位置插入 節(jié)點(diǎn)的刪除 刪除鏈表中第一次出現(xiàn)的目標(biāo)節(jié)點(diǎn) 刪除鏈表中所有與相同的節(jié)點(diǎn) 節(jié)點(diǎn)的查找 鏈表的清空 鏈表的長度 四.模擬實(shí)現(xiàn)鏈表的完整代碼 前言: 在上一

    2024年02月05日
    瀏覽(29)
  • 數(shù)據(jù)結(jié)構(gòu)_鏈表_雙向循環(huán)鏈表的初始化、插入、刪除、修改、查詢打?。ɑ贑語言實(shí)現(xiàn))

    數(shù)據(jù)結(jié)構(gòu)_鏈表_雙向循環(huán)鏈表的初始化、插入、刪除、修改、查詢打印(基于C語言實(shí)現(xiàn))

    版本: 2024年4月26日 V1.0 發(fā)布于博客園 目錄 目錄 雙向循環(huán)鏈表公式 初始化雙向循環(huán)鏈表 構(gòu)建雙向循環(huán)鏈表結(jié)點(diǎn) 創(chuàng)建一個(gè)空鏈表(僅頭結(jié)點(diǎn)) 創(chuàng)建一個(gè)新結(jié)點(diǎn) 插入數(shù)據(jù) 頭插 中插 尾插 刪除數(shù)據(jù) 頭刪 中刪 尾刪 查詢打印數(shù)據(jù) 遍歷打印 測(cè)試 測(cè)試結(jié)果: 完整代碼 DoubleCirLList.h

    2024年04月27日
    瀏覽(36)
  • 青島大學(xué)_王卓老師【數(shù)據(jù)結(jié)構(gòu)與算法】Week04_04_雙向鏈表的插入_學(xué)習(xí)筆記

    青島大學(xué)_王卓老師【數(shù)據(jù)結(jié)構(gòu)與算法】Week04_04_雙向鏈表的插入_學(xué)習(xí)筆記

    本文是個(gè)人學(xué)習(xí)筆記,素材來自青島大學(xué)王卓老師的教學(xué)視頻。 一方面用于學(xué)習(xí)記錄與分享,另一方面是想讓更多的人看到這么好的《數(shù)據(jù)結(jié)構(gòu)與算法》的學(xué)習(xí)視頻。 如有侵權(quán),請(qǐng)留言作刪文處理。 課程視頻鏈接: 數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)–第04周04–2.5.4雙向鏈表2–雙向鏈表

    2024年02月12日
    瀏覽(22)
  • 數(shù)據(jù)結(jié)構(gòu)-鏈表結(jié)構(gòu)-雙向鏈表

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

    雙向鏈表也叫雙鏈表,與單向鏈表不同的是,每一個(gè)節(jié)點(diǎn)有三個(gè)區(qū)域組成:兩個(gè)指針域,一個(gè)數(shù)據(jù)域 前一個(gè)指針域:存儲(chǔ)前驅(qū)節(jié)點(diǎn)的內(nèi)存地址 后一個(gè)指針域:存儲(chǔ)后繼節(jié)點(diǎn)的內(nèi)存地址 數(shù)據(jù)域:存儲(chǔ)節(jié)點(diǎn)數(shù)據(jù) 以下就是雙向鏈表的最基本單位 節(jié)點(diǎn)的前指針域指向前驅(qū),后指針

    2024年02月04日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包