課本源碼部分
第2章 線性表 - 靜態鏈表
——《數據結構》-嚴蔚敏.吳偉民版
源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明
課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯
習題集全解析 鏈接☛☛☛ 《數據結構題集》習題解析合輯
本源碼引入的文件 鏈接☛ Status.h
相關測試數據下載 鏈接☛ 無數據
文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲02 線性表\06 StaticLinkedList
靜態鏈表用數組存放數據,存取方式模擬了系統的malloc分配和free回收機制。
在《數據結構》原書中,對靜態鏈表的表述是有些復雜的,這裡對其進行了適當簡化,但中心思想不變。
靜態鏈表是特殊的順序表,它從數組(一塊連續的內存)中孕育,但行為卻類似於單鏈表,它反映出了鏈式單鏈表在系統中實現的本質。靜態鏈表依靠自身的一個游標來實現單鏈表中結構指針的作用,所以,在存取元素時,一方面要考慮靜態鏈表內部的游標變動,另一方面也要考慮整個空間中剩余內存的游標變化,因為整個內存塊同樣也是通過游標來鏈接的。
靜態鏈表存儲結構及存取機制如下圖:
靈活應用typedef來創造新類型,比如在靜態空間SPACE定義時,將整個結構數組看做了一個新的類型Component。
文件二 ☛ StaticLinkedList.c
文件三 ☛ StaticLinkedList-main.c (測試文檔)
測試結果展示