資料結構之單鏈表
單鏈表是一種鏈式存取的資料結構,用一組地址任意的存盤單元 存放線性表中的資料元素 ,鏈表中的資料是以結點來表示的,每個結點的構成:元素( 資料元素 的映象) + 指標 (指示后繼元素存盤位置),元素就是存盤資料的存盤單元,指標就是連接每個結點的地址資料,
介紹:單鏈表就是結構體變數和結構體變數 通過指標成員連接在一起,故:單鏈表就是多個結構體變數,
鏈表分類
根據鏈表有無頭結點,指標是是否雙向,鏈表是否環狀,我們把鏈表分為以下幾種:
帶頭結點單鏈表,
無頭結點單鏈表,
雙向鏈表,
雙向回圈鏈表,
單鏈表操作
帶頭結點的鏈式結構主要有以下常規操作:
創建鏈表:創建頭結點,
創建結點:為插入做準備,
表頭插入,
表尾插入,
指定位置插入,
表頭洗掉,
表尾洗掉,
指定位置洗掉,
鏈表的列印,
插曲:指標如何當做變數使用?
通過賦值變數的地址,
通過動態記憶體申請,
代碼如下:
結構體定義
資料結構中的結構體設計, 一般都是單一個體的抽象,即把整個結構拆開的零件,
創建表頭
單鏈表就是結構體變數和結構體變數 通過指標成員連接在一起,故如果定義一個函式去創建鏈表,其實就是創建表頭,表頭也是一個結構體變數,故就是創建結構體變數的程序,然后資料結構一般習慣用指標去表示,指標變成變數,故通過動態記憶體是申請即可變成變數,最后只需要給變數初始化即可,
單鏈表的創建表頭原始碼:
創建節點
創建結點單獨用一個函式封裝,為插入節點做準備,結點也是結構體變數,相對于表頭只是多了一個資料域,而資料可以形參傳進去,這樣就可以實作資料加工,加工為一個結點資料,
單鏈表的結點創建代碼:
表頭法插入
因為是一個有表頭的鏈表,故表頭位置不可改變,插入結點只能放在表頭后面,表頭就像講臺,學生座位怎么排,都只能放在講臺后面,不能排到講臺前面去,
單鏈表的表頭插入代碼:
表尾插入
表尾插入,首先找到表尾,然后把插入的結點放到表尾結點后面即可,
單鏈表的表尾插入代碼:
指定位置插入
只要找到指定位置與指定位置前面哪個結點,我想每一個同學都應該會插入結點,指定位置插入問題轉換為找到指定位置以及指定位置的前面哪個結點,
單鏈表的指定位置插入代碼實作:
鏈表遍歷
因為做的是一個有表頭的鏈表 ,故列印資料的時候是從第二個節點開始列印,如果存在資料,列印資料,列印完后往下一個結點移動即可,就像公交車一樣,過一站下一批乘客,
單鏈表的遍歷實作:
測驗檢驗
首先表頭插入資料1,在表頭插入資料3 ,鏈表中資料為 3 1,
在指定1前面插入2,鏈表中資料為3 2 1,
最后表尾插入0,鏈表中資料為3 2 1 0,
故列印結果是3 2 1 0
代碼示例:
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!
C語言C++編程學習交流圈子,QQ群757874045【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習軟體分享:

編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/135379.html
標籤:C
