最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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))詳解的評論 (共 條)

分享到微博請遵守國家法律
方城县| 泽库县| 托克逊县| 锡林郭勒盟| 鲁山县| 福鼎市| 万盛区| 边坝县| 茌平县| 沁水县| 砚山县| 洞头县| 苍溪县| 衡水市| 临清市| 邯郸市| 平潭县| 自治县| 田东县| 佛山市| 文登市| 枞阳县| 嘉禾县| 宜昌市| 新巴尔虎左旗| 广安市| 玛沁县| 稷山县| 彭泽县| 安丘市| 武汉市| 丰镇市| 公主岭市| 寻乌县| 田林县| 临泽县| 策勒县| 武功县| 长宁县| 察雅县| 平利县|