日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

线性表----循环链表和静态链表

發(fā)布時(shí)間:2023/12/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线性表----循环链表和静态链表 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、循環(huán)鏈表

1.1 循環(huán)單鏈表

循環(huán)單鏈表和單鏈表的區(qū)別在于,表中最后一個(gè)結(jié)點(diǎn)指針不在是null,而是頭指針,從而使整個(gè)鏈表形成一個(gè)環(huán)

  • 此時(shí)判斷單鏈表是否為空,條件就是頭結(jié)點(diǎn)的指針是否等于頭指針
  • 此時(shí)單鏈表相當(dāng)于一個(gè)環(huán),而且還是一個(gè)有方向的環(huán),頭指針表明這個(gè)環(huán)的入口地址,然后順著next指針走下去,所以循環(huán)單鏈表的插入、刪除算法與單鏈表幾乎一樣,所不同就是表尾的操作。
  • 如果經(jīng)常對(duì)表尾操作,可以設(shè)個(gè)尾指針(表名是頭指針),對(duì)表頭和表尾的操作時(shí)間復(fù)雜度都是0(1)

1.2循環(huán)雙鏈表

相對(duì)于雙鏈表,不同的是循環(huán)雙鏈表的頭結(jié)點(diǎn)prior還要指向表尾,尾部的next還要指向頭結(jié)點(diǎn),其他都一樣,循環(huán)雙鏈表相當(dāng)于有兩個(gè)環(huán),兩個(gè)不同方向的環(huán),頭指針(表名)告訴我們這個(gè)循環(huán)雙鏈表的入口地址,我們可以向兩個(gè)方向操作數(shù)據(jù)

  • 判斷循環(huán)雙鏈表是否為空,只要頭結(jié)點(diǎn)的prior和next都等于頭指針

2、靜態(tài)鏈表

靜態(tài)鏈表沒有通過指針來實(shí)現(xiàn),是通過數(shù)組來實(shí)現(xiàn)線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
描述:

typedef int ElemType; #define MaxSize 50 typedef struct {ElemType data;int next; }SLinkList[MaxSize];
  • 靜態(tài)鏈表的結(jié)點(diǎn)也有數(shù)據(jù)域和指針域,但指針域存放的不再是地址,而是結(jié)點(diǎn)的相對(duì)地址(就是數(shù)組下標(biāo))
  • 因?yàn)槭菙?shù)組來描述,所以靜態(tài)鏈表也要預(yù)先分配一塊連續(xù)的內(nèi)存空間
  • 數(shù)組第一個(gè)元素不存放數(shù)據(jù)(和頭結(jié)點(diǎn)和相似),他的指針域存放第一個(gè)元素所在的數(shù)組下標(biāo)
  • 靜態(tài)鏈表的結(jié)束標(biāo)志有很多,上圖中-1就是,因?yàn)閿?shù)組下標(biāo)不可能為-1
  • 靜態(tài)鏈表對(duì)不支持指針的高級(jí)語言(Basic)使用很方便
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的线性表----循环链表和静态链表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。