无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:鏈接列表(鏈表)及其遍歷,今天就教你

2020-12-09 21:30 作者:C語言編程__Plus  | 我要投稿



像數(shù)組一樣,鏈表是線性數(shù)據(jù)結(jié)構(gòu)。與數(shù)組不同,鏈接列表元素不存儲在連續(xù)的位置;元素使用指針鏈接。


為什么要鏈接列表?

數(shù)組可用于存儲相似類型的線性數(shù)據(jù),但是數(shù)組具有以下限制。

1)數(shù)組的大小是固定的:因此,我們必須提前知道元素數(shù)量的上限。而且,通常,所分配的存儲器與用途無關(guān)而等于上限。

2)在元素數(shù)組中插入新元素非常昂貴,因為必須為新元素創(chuàng)建空間,并且為創(chuàng)建房間而必須移動現(xiàn)有元素。

例如,在系統(tǒng)中,如果我們在數(shù)組id []中維護ID的排序列表。

id [] = [1000,1010,1050,2000,2040]。

如果要插入新的ID 1005,則要保持排序順序,我們必須將所有元素都移到1000(不包括1000)之后。

除非使用某些特殊技術(shù),否則刪除數(shù)組也很昂貴。例如,要刪除id []中的1010,必須移動1010之后的所有內(nèi)容。

相對于陣列的優(yōu)勢

1)動態(tài)大小

2)易于插入/刪除

缺點:

1)不允許隨機訪問。我們必須從第一個節(jié)點開始順序訪問元素。因此,我們無法使用默認實現(xiàn)對鏈接列表進行有效的二進制搜索。

2)列表的每個元素都需要用于指針的額外存儲空間。

3)不適合緩存。由于數(shù)組元素是連續(xù)的位置,因此存在引用位置,而在鏈接列表的情況下則不存在。

表示形式:

鏈表由指向鏈表第一個節(jié)點的指針表示。第一個節(jié)點稱為頭。如果鏈表為空,則head的值為NULL。

列表中的每個節(jié)點至少由兩部分組成:

1)數(shù)據(jù)

2)指向下一個節(jié)點的指針(或引用)

在C語言中,我們可以使用結(jié)構(gòu)表示一個節(jié)點。以下是帶有整數(shù)數(shù)據(jù)的鏈表節(jié)點的示例。

在Java或C#中,LinkedList可以表示為一個類,而Node可以表示為單獨的類。LinkedList類包含Node類類型的引用。

C


C++


C中的第一個簡單鏈接列表讓我們創(chuàng)建一個包含3個節(jié)點的簡單鏈接列表。

C ++(注釋為英文)


C


鏈表遍歷

在上一個程序中,我們創(chuàng)建了一個具有三個節(jié)點的簡單鏈表。讓我們遍歷創(chuàng)建的列表并打印每個節(jié)點的數(shù)據(jù)。為了進行遍歷,讓我們編寫一個通用函數(shù)printList()來打印任何給定的列表。

C ++


C


輸出:1? 2? 3

希望本篇文章對你有幫助~

另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~

分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!

編程學習書籍分享:


編程學習視頻分享:



C/C++編程筆記:鏈接列表(鏈表)及其遍歷,今天就教你的評論 (共 條)

分享到微博請遵守國家法律
祥云县| 阜新市| 江永县| 湘西| 嘉义县| 霍州市| 吉林市| 宁阳县| 油尖旺区| 新营市| 伽师县| 安塞县| 彭州市| 汉川市| 旌德县| 阿坝| 黄浦区| 清水县| 凌云县| 沂源县| 邮箱| 南宁市| 蒙城县| 旬邑县| 资溪县| 宜兰县| 黎川县| 郁南县| 呈贡县| 金门县| 吴堡县| 阿拉善左旗| 凌云县| 遂宁市| 广宗县| 大悟县| 东乡族自治县| 台中县| 江川县| SHOW| 崇明县|