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

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

靜態(tài)鏈表基本操作(C語言實現(xiàn))詳解

2023-07-11 19:11 作者:解學武  | 我要投稿

上節(jié),我們初步創(chuàng)建了一個靜態(tài)鏈表,本節(jié)學習有關靜態(tài)鏈表的一些基本操作,包括對表中數(shù)據(jù)元素的添加、刪除、查找和更改。

本節(jié)是建立在已成功創(chuàng)建靜態(tài)鏈表的基礎上,我們繼續(xù)使用上節(jié)中建立好的靜態(tài)鏈表學習本節(jié)內容,建立好的靜態(tài)鏈表如圖?1 所示:

建立好的靜態(tài)鏈表
圖 1 建立好的靜態(tài)鏈表

可以看到,靜態(tài)鏈表中存儲的是無頭結點的單鏈表。

靜態(tài)鏈表添加元素

例如,在圖 1 的基礎,將元素 4 添加到靜態(tài)鏈表中的第 3 個位置上,實現(xiàn)過程如下:

  1. 從備用鏈表中摘除一個節(jié)點,用于存儲元素 4;

  2. 找到表中第 2 個節(jié)點(添加位置的前一個節(jié)點,這里是數(shù)據(jù)元素 2),將元素 2 的游標賦值給新元素 4;

  3. 將元素 4 所在數(shù)組中的下標賦值給元素 2 的游標;

經(jīng)過以上幾步操作,數(shù)據(jù)元素 4 就成功地添加到了靜態(tài)鏈表中,此時新的靜態(tài)鏈表如圖 2 所示:

圖 2 添加元素 4 的靜態(tài)鏈表

由此,我們通過嘗試編寫 C 語言程序實現(xiàn)以上操作。讀者可參考如下程序:

靜態(tài)鏈表刪除元素

靜態(tài)鏈表中刪除指定元素,只需實現(xiàn)以下 2 步操作:

  1. 將存有目標元素的節(jié)點從數(shù)據(jù)鏈表中摘除;

  2. 將摘除節(jié)點添加到備用鏈表,以便下次再用;

比較特殊的是,對于無頭結點的數(shù)據(jù)鏈表來說,如果需要刪除頭結點,則勢必會導致數(shù)據(jù)鏈表的表頭不再位于數(shù)組下標為 1 的位置,換句話說,刪除頭結點之后,原數(shù)據(jù)鏈表中第二個結點將作為整個鏈表新的首元結點。

若問題中涉及大量刪除元素的操作,建議讀者在建立靜態(tài)鏈表之初創(chuàng)建一個帶有頭節(jié)點的靜態(tài)鏈表,方便實現(xiàn)刪除鏈表中第一個數(shù)據(jù)元素的操作。

如下是針對無頭結點的數(shù)據(jù)鏈表,實現(xiàn)刪除操作的 C 語言代碼:

靜態(tài)鏈表查找元素

靜態(tài)鏈表查找指定元素,由于我們只知道靜態(tài)鏈表第一個元素所在數(shù)組中的位置,因此只能通過逐個遍歷靜態(tài)鏈表的方式,查找存有指定數(shù)據(jù)元素的節(jié)點。

靜態(tài)鏈表查找指定數(shù)據(jù)元素的 C 語言實現(xiàn)代碼如下:

靜態(tài)鏈表中更改數(shù)據(jù)

更改靜態(tài)鏈表中的數(shù)據(jù),只需找到目標元素所在的節(jié)點,直接更改節(jié)點中的數(shù)據(jù)域即可。

實現(xiàn)此操作的 C 語言代碼如下:

總結

這里給出以上對靜態(tài)鏈表做 "增刪查改" 操作的完整實現(xiàn)代碼:

程序運行結果為:

靜態(tài)鏈表為:
1,2 2,3 3,0
在第3的位置上插入元素4:
1,2 2,4 4,3 3,0
刪除數(shù)據(jù)域為1的結點:
2,4 4,3 3,0
查找數(shù)據(jù)域為4的結點的位置:
4
將結點數(shù)據(jù)域為4改為5:
2,4 5,3 3,0

靜態(tài)鏈表基本操作(C語言實現(xiàn))詳解的評論 (共 條)

分享到微博請遵守國家法律
鄱阳县| 青冈县| 蒙自县| 霍邱县| 土默特右旗| 富阳市| 安塞县| 正镶白旗| 枣庄市| 蓬莱市| 剑河县| 信阳市| 景德镇市| 金阳县| 黔东| 岑溪市| 阿拉善右旗| 宾阳县| 普安县| 汝州市| 遂川县| 稻城县| 赤壁市| 米脂县| 五大连池市| 绥阳县| 正阳县| 拜城县| 南江县| 禹州市| 镇雄县| 铁力市| 玉田县| 新宁县| 武川县| 峨边| 泾川县| 建湖县| 伊通| 青岛市| 安陆市|