課本源碼部分
第2章 線性表 - 單鏈表順序存儲結構
——《數據結構》-嚴蔚敏.吳偉民版
源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明
課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯
習題集全解析 鏈接☛☛☛ 《數據結構題集》習題解析合輯
本源碼引入的文件 鏈接☛ Status.h
相關測試數據下載 鏈接☛ 無數據
文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲02 線性表\01 SequenceList
數據結構的學習當然要從線性表學起,而線性表裡首先需要學習單鏈表,這裡從單鏈表最簡單的順序存儲結構(本質就是可變數組存儲)開始。
單鏈表強調元素在邏輯上緊密相鄰,所以首先想到用數組存儲。但是普通數組有著無法克服的容量限制,在不知道輸入有多少的情況下,很難確定出一個合適的容量。對此,一個較好的解決方案就是使用動態數組。首先用malloc申請一塊擁有指定初始容量的內存,這塊內存用作存儲單鏈表元素,當錄入的內容不斷增加,以至於超出了初始容量時,就用calloc擴展內存容量,這樣就做到了既不浪費內存,又可以讓單鏈表容量隨輸入的增加而自適應大小。
單鏈表順序存儲結構如下圖:
剛接觸數據結構的同學,單鏈表順序存儲結構可能會是其面對的第一個坎。這裡涉及到了結構體、動態數組、結構指針,甚至還有函數變量(函數做參數,本質是函數指針),所以需要有相對扎實的語言語法基礎。當然,這也並不是說一定得掌握了高級語法才能開始學習數據結構,可以先將語言學到入門(入門意味著學會了提問),再邊學數據結構邊鞏固語法。一定要親自動手寫一寫,否則,肯定學不好。
文件二 ☛ SequenceList.c
文件三 ☛ SequenceList-main.c (測試文檔)
測試結果展示
更多章節持續更新中...