国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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é)點開始順序訪問元素。因此,我們無法使用默認(rèn)實現(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

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

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

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

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

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

編程學(xué)習(xí)書籍分享:


編程學(xué)習(xí)視頻分享:



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

分享到微博請遵守國家法律
云南省| 汤原县| 祁连县| 综艺| 大埔县| 崇文区| 体育| 临洮县| 汕头市| 红安县| 昭平县| 重庆市| 东乌| 武鸣县| 阿图什市| 安岳县| 布拖县| 自贡市| 巴塘县| 遵义市| 察雅县| 府谷县| 水富县| 武定县| 濮阳县| 泰和县| 方正县| 磴口县| 昭平县| 弥勒县| 金堂县| 南平市| 灯塔市| 徐闻县| 安徽省| 漳浦县| 万年县| 凉城县| 文化| 磐安县| 隆林|