那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

說說Go里面的鏈表操作

冬至配餃子 ? 來源:GoLang全棧 ? 作者:小錕哥哥 ? 2022-08-17 11:07 ? 次閱讀

一、鏈表的概念

為了方便同學(xué)們理解,我畫了一個圖:

poYBAGL8WoeAayNXAAClnjzwFos168.png

上條是單向鏈表,下面是雙向鏈表。

兩者區(qū)別是啥呢?

從查找速度來講,雙向的會更快些,但是缺點也是占用空間大些。

所以如果項目里面對空間要求高的話,就用前者,回頭用時間換空間。

按照邏輯結(jié)構(gòu)來說,他們應(yīng)該是一個挨著一個的,但是在實際存儲當(dāng)中并沒有像這樣連續(xù),可能會散落在各個內(nèi)存區(qū)里面。

關(guān)于鏈表的作用就不在這里贅述了,感興趣的面向搜索引擎提問吧。

二、Go 里面的鏈表操作

go 的標(biāo)準(zhǔn)庫里面其實為我們提供了一個鏈表功能,在我們的 container/list 包里面。

所以很多時候我們不需要再手動實現(xiàn),可以這樣使用:

poYBAGL8WpiAANn-AABJEHaycYc192.png

他為我們提供了很多方法可以使用:

poYBAGL8Wq2Ae13JAAE9uaBUyFE162.png

比如插入到最后面,還是哪個的后面,感興趣的可以去詳細(xì)看下。

上面的代碼執(zhí)行結(jié)果是:

pYYBAGL8Wr6AIfGfAAARRAc53-E525.png

二、一些常用操作

1、移動交換

假如我們需要調(diào)換 2 和 3 的位置:

poYBAGL8WtOAatL6AABTjxFNtrA286.png

我們可以使用他的 MoveAfter 方法進(jìn)行移動。

執(zhí)行結(jié)果:

poYBAGL8WuaAJdVcAAASpN4J_bI783.png

2、插入

加入我們需要在 2 后面插入一個 2.5:

pYYBAGL8WviAbm3CAABdl-bGMqA676.png

我們可以使用 InsertAfter 方法進(jìn)行操作。

執(zhí)行結(jié)果為:

poYBAGL8WxSAJabLAAAWrD_wDuE050.png

更多的操作方法就不一一舉例了哈。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3055

    瀏覽量

    74337
  • 鏈表
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    10599
  • go語言
    +關(guān)注

    關(guān)注

    1

    文章

    158

    瀏覽量

    9090
收藏 人收藏

    評論

    相關(guān)推薦

    C語言-鏈表(單向鏈表、雙向鏈表)

    在前面章節(jié)已經(jīng)學(xué)習(xí)了數(shù)組的使用,數(shù)組的空間是連續(xù)空間,數(shù)組的大小恒定的,在很多動態(tài)數(shù)據(jù)存儲的應(yīng)用場景下,使用不方便;而這篇文章介紹的鏈表結(jié)構(gòu),支持動態(tài)增加節(jié)點,釋放節(jié)點,比較適合存儲動態(tài)數(shù)據(jù)的應(yīng)用場景,而且鏈表的空間是存儲在堆上面的
    的頭像 發(fā)表于 09-09 11:30 ?1733次閱讀

    Linux內(nèi)核鏈表詳講(1)

    大家好,是不是對linux內(nèi)核很感興趣,有人是不是在跟著市面的教程,不管是收費的還是免費的,或多或少為大家講下內(nèi)核鏈表分析,不知道有多少人真的在本質(zhì)上給您有講.今天狄泰唐老師為你們免費講解,總共分3
    發(fā)表于 07-10 18:23

    Linux內(nèi)核的鏈表操作

    Linux內(nèi)核的鏈表操作本文詳細(xì)分析了 2.6.x 內(nèi)核中鏈表結(jié)構(gòu)的實現(xiàn),并通過實例對每個鏈表操作接口進(jìn)行了詳盡的講解。一、
    發(fā)表于 08-29 11:13

    玩轉(zhuǎn)C語言鏈表-鏈表各類操作詳解

    ,它稱為“表尾”,它的地址部分放一個“NULL”(表示“空地址”),鏈表到此結(jié)束。  鏈表的各類操作包括:學(xué)習(xí)單向鏈表的創(chuàng)建、刪除、 插入(無序、有序)、輸出、 排序(選擇、插入、冒泡
    發(fā)表于 09-18 13:30

    STM32里面的位帶操作是什么意思?

    為什么STM32里面會有位帶操作?STM32里面的位帶操作是什么意思?
    發(fā)表于 12-15 06:23

    數(shù)據(jù)結(jié)構(gòu)鏈表的基本操作

    嵌入式學(xué)習(xí)基礎(chǔ)-數(shù)據(jù)結(jié)構(gòu)鏈表的基本操作鏈表節(jié)點采用結(jié)構(gòu)體的方式進(jìn)行定義,下面是最基礎(chǔ)的定義只有一個數(shù)據(jù)data,*pNext用于指向下一個節(jié)點(若為尾節(jié)點則指向NULL)。//鏈表節(jié)點
    發(fā)表于 12-22 08:05

    淺析RT-Thread中對象容器與雙鏈表操作

    操作RT-Thread的對象容器是依賴于雙鏈表(雙向循環(huán)鏈表)的,其雙鏈表的相關(guān)操作在文件rtservice.h中:其節(jié)點結(jié)構(gòu)體為:str
    發(fā)表于 05-18 14:23

    了解Linux通用的雙向循環(huán)鏈表

    在linux內(nèi)核中,有一種通用的雙向循環(huán)鏈表,構(gòu)成了各種隊列的基礎(chǔ)。鏈表的結(jié)構(gòu)定義和相關(guān)函數(shù)均在include/linux/list.h中,下面就來全面的介紹這一鏈表的各種API。
    發(fā)表于 05-07 10:44 ?694次閱讀

    鏈表學(xué)習(xí)的總結(jié)(一)

    想必大多數(shù)人和我一樣,剛開始學(xué)數(shù)據(jù)結(jié)構(gòu)中的單鏈表還是蠻吃力的,特別是后面的鏈表操作更是如此。還有就是在實踐代碼操作時,你又會感到無從下手,
    的頭像 發(fā)表于 12-24 17:35 ?3477次閱讀

    鏈表的代碼免費下載

    =(LinkList)malloc(sizeof(LNode));//帶頭結(jié)點的鏈表 L->next=NULL;//L->data里面沒放東西 scanf("%d",&
    發(fā)表于 05-16 14:25 ?4次下載

    鏈表的基本操作

    回看了一下以前寫的鏈表操作,確實有點復(fù)雜不利于初學(xué),這篇文章就換個寫法,簡單明了的介紹鏈表操作
    的頭像 發(fā)表于 12-13 10:11 ?1402次閱讀

    鏈表的基礎(chǔ)知識

    的知識詳細(xì)地敘述,所涉及的鏈表類型包括:單鏈表,雙鏈表,循環(huán)鏈表,每個鏈表操作涉及到創(chuàng)建
    的頭像 發(fā)表于 01-20 17:00 ?1137次閱讀
    <b class='flag-5'>鏈表</b>的基礎(chǔ)知識

    詳細(xì)介紹鏈表操作系統(tǒng)中定義和使用的方式

    鏈表和數(shù)組是兩種不同的數(shù)據(jù)存儲方式。鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。
    的頭像 發(fā)表于 02-22 10:06 ?1266次閱讀

    介紹Go里面經(jīng)常使用到的命令行工具

    優(yōu)秀的工具配合熟練的使用,往往可以讓開發(fā)效率大幅度提升,本小節(jié)介紹 Go 里面經(jīng)常使用到的命令行工具。
    的頭像 發(fā)表于 05-22 16:58 ?1348次閱讀
    介紹<b class='flag-5'>Go</b><b class='flag-5'>里面</b>經(jīng)常使用到的命令行工具

    鏈表和雙鏈表的區(qū)別在哪里

    。 上面的三幅圖對于理解鏈表的插入、刪除很重要,看代碼的時候要對著看。 實際中經(jīng)常使用的一般為帶頭雙向循環(huán)鏈表,下面是一個雙向循環(huán)鏈表的 demo,是最簡單的情況。
    的頭像 發(fā)表于 07-27 11:20 ?1769次閱讀
    單<b class='flag-5'>鏈表</b>和雙<b class='flag-5'>鏈表</b>的區(qū)別在哪里
    太阳神百家乐的玩法技巧和规则| 足球走地| 百家乐官网烫金筹码| 百家乐分析资料| 全讯网开奖直播| 百家乐官网赢钱皇冠| 百家乐玩法有技巧| 澳门足球博彩官网| 长春百家乐官网的玩法技巧和规则| 贵族百家乐的玩法技巧和规则| 青州市| 百家乐预测和局| 十三张娱乐城开户| 如何胜百家乐官网的玩法技巧和规则 | 广州百家乐筹码| 永仁县| 百家乐开户就送现金| 三宝娱乐| 百家乐赢钱好公式| 陇西县| 免佣百家乐赌场优势| 真博娱乐| 百家乐网络公式| 六合彩138| 百家乐娱乐城彩金| 德州扑克高级教程| 澳门百家乐官网长赢打| 盛京棋牌网| 百家乐官网网页qq| 王牌国际| 稳赢的百家乐投注方法| 乐宝百家乐官网游戏| 大世界百家乐娱乐平台| 百家乐mediacorp| 百家乐官网真人百家乐官网皇冠开户 | 百家乐视频金币| 噶尔县| 百家乐出闲几率| 百家乐官网关键词| 威尼斯人娱乐城老品牌lm0| 兰桂坊百家乐官网的玩法技巧和规则|