什么是順序表和鏈表 順序表和鏈表的異同點(diǎn)有哪些?
順序表和鏈表的異同點(diǎn)有哪些?順序列表是一種數(shù)據(jù)結(jié)構(gòu),其中存儲(chǔ)位置是連續(xù)的,可以立即訪問;鏈表是一種數(shù)據(jù)結(jié)構(gòu),其中元素之間的關(guān)系由指針描述。同一點(diǎn)有限序列。存儲(chǔ)空間不同序列表的存儲(chǔ)空間是靜態(tài)的,需要預(yù)先
順序表和鏈表的異同點(diǎn)有哪些?
順序列表是一種數(shù)據(jù)結(jié)構(gòu),其中存儲(chǔ)位置是連續(xù)的,可以立即訪問;
鏈表是一種數(shù)據(jù)結(jié)構(gòu),其中元素之間的關(guān)系由指針描述。
同一點(diǎn)
有限序列。
存儲(chǔ)空間不同
序列表的存儲(chǔ)空間是靜態(tài)的,需要預(yù)先分配空間;
鏈表的存儲(chǔ)空間是動(dòng)態(tài)分配的,只要有內(nèi)存空間,就可以動(dòng)態(tài)申請(qǐng)空間。
不同運(yùn)算時(shí)間
序列表是一種隨機(jī)存取結(jié)構(gòu),方便元素的隨機(jī)存取。因此,順序表應(yīng)該只用于搜索,很少用于插入和刪除操作;
鏈表是一種非隨機(jī)訪問結(jié)構(gòu),任何節(jié)點(diǎn)的操作都必須從指針開始,沿著鏈掃描。需要頻繁插入和刪除元素的線性表應(yīng)使用鏈表。
單鏈表和順序表的區(qū)別在哪里,各自的優(yōu)缺點(diǎn)是什么?
讓我們先談?wù)勑蛄斜?。您可以一次申?qǐng)多個(gè)空格,例如mallco(sizeof(type)*n)。類型可以生成任何類型,包括由結(jié)構(gòu)定義的類型。
N是整數(shù),因此我們得到N個(gè)連續(xù)空間。order表可以以數(shù)組的形式訪問,也就是說,通過下標(biāo)。當(dāng)然,定義的變量類型必須是指針類型,這非常方便。當(dāng)然,也可以通過鏈表訪問。單鏈表只是分散了空間。優(yōu)點(diǎn)是它可以根據(jù)需要?jiǎng)討B(tài)應(yīng)用。一般來說,一次可以應(yīng)用一個(gè)空間節(jié)點(diǎn),即n=1。當(dāng)然,你也可以根據(jù)需要申請(qǐng)。但一般來說,初次申請(qǐng)不足以按一定數(shù)額繼續(xù)申請(qǐng)。歸根結(jié)底,序列表的訪問更方便,單鏈表的動(dòng)態(tài)應(yīng)用更靈活。但是如果你看教科書上的程序,它們都是序列表的形式,包括堆棧和隊(duì)列
序列表的優(yōu)點(diǎn)是便于隨機(jī)存儲(chǔ),缺點(diǎn)是不便于插入和刪除操作,因?yàn)椴迦牒蛣h除一個(gè)元素需要移動(dòng)所有后續(xù)的元素,但是鏈表沒有這個(gè)問題。鏈表只需要改變指針,耗時(shí)小,所以鏈表正好與順序表相反,優(yōu)點(diǎn)是容易進(jìn)行插入、刪除等操作,缺點(diǎn)是隨機(jī)存儲(chǔ)不如順序表方便。