2-1-單鏈表順序存儲結構-線性表-第2章-《數據結構》課本源碼-嚴蔚敏吳偉民版


課本源碼部分

第2章  線性表 - 單鏈表順序存儲結構

——《數據結構》-嚴蔚敏.吳偉民版

       ★有疑問先閱讀★

  源碼使用說明  鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明

  課本源碼合輯  鏈接☛☛☛ 《數據結構》課本源碼合輯

      習題集全解析  鏈接☛☛☛ 《數據結構題集》習題解析合輯

 

       本源碼引入的文件  鏈接☛ Status.h

 

      文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲02 線性表\01 SequenceList

 

概述

       數據結構的學習當然要從線性表學起,而線性表里首先需要學習單鏈表,這里從單鏈表最簡單的順序存儲結構(本質就是可變數組存儲)開始。

解析

       單鏈表強調元素在邏輯上緊密相鄰,所以首先想到用數組存儲。但是普通數組有着無法克服的容量限制,在不知道輸入有多少的情況下,很難確定出一個合適的容量。對此,一個較好的解決方案就是使用動態數組。首先用malloc申請一塊擁有指定初始容量的內存,這塊內存用作存儲單鏈表元素,當錄入的內容不斷增加,以至於超出了初始容量時,就用calloc擴展內存容量,這樣就做到了既不浪費內存,又可以讓單鏈表容量隨輸入的增加而自適應大小。

       單鏈表順序存儲結構如下圖:

可能涉及到的語法難點

       剛接觸數據結構的同學,單鏈表順序存儲結構可能會是其面對的第一個坎。這里涉及到了結構體動態數組結構指針,甚至還有函數變量(函數做參數,本質是函數指針),所以需要有相對扎實的語言語法基礎。當然,這也並不是說一定得掌握了高級語法才能開始學習數據結構,可以先將語言學到入門(入門意味着學會了提問),再邊學數據結構邊鞏固語法。一定要親自動手寫一寫,否則,肯定學不好。

源碼

       文件一 ☛  SequenceList.h 

       文件二 ☛  SequenceList.c 

       文件三 ☛  SequenceList-main.c (測試文檔)

測試結果展示

       更多章節持續更新中...微笑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM