2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版...
課本源碼部分
第2章? 線性表 -?單鏈表順序存儲(chǔ)結(jié)構(gòu)
——《數(shù)據(jù)結(jié)構(gòu)》-嚴(yán)蔚敏.吳偉民版
? ? ? ?★有疑問(wèn)先閱讀★
源碼使用說(shuō)明? 鏈接??? 《數(shù)據(jù)結(jié)構(gòu)-C語(yǔ)言版》(嚴(yán)蔚敏,吳偉民版)課本源碼+習(xí)題集解析使用說(shuō)明
課本源碼合輯? 鏈接??? 《數(shù)據(jù)結(jié)構(gòu)》課本源碼合輯
? ? ? 習(xí)題集全解析 ?鏈接??? 《數(shù)據(jù)結(jié)構(gòu)題集》習(xí)題解析合輯
?
? ? ? ?本源碼引入的文件 ?鏈接??Status.h
?
? ? ? 文檔中源碼及測(cè)試數(shù)據(jù)存放目錄:數(shù)據(jù)結(jié)構(gòu)\▲課本算法實(shí)現(xiàn)\▲02 線性表\01 SequenceList
?
概述
? ? ? ?數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)當(dāng)然要從線性表學(xué)起,而線性表里首先需要學(xué)習(xí)單鏈表,這里從單鏈表最簡(jiǎn)單的順序存儲(chǔ)結(jié)構(gòu)(本質(zhì)就是可變數(shù)組存儲(chǔ))開(kāi)始。
解析
? ? ? ?單鏈表強(qiáng)調(diào)元素在邏輯上緊密相鄰,所以首先想到用數(shù)組存儲(chǔ)。但是普通數(shù)組有著無(wú)法克服的容量限制,在不知道輸入有多少的情況下,很難確定出一個(gè)合適的容量。對(duì)此,一個(gè)較好的解決方案就是使用動(dòng)態(tài)數(shù)組。首先用malloc申請(qǐng)一塊擁有指定初始容量的內(nèi)存,這塊內(nèi)存用作存儲(chǔ)單鏈表元素,當(dāng)錄入的內(nèi)容不斷增加,以至于超出了初始容量時(shí),就用calloc擴(kuò)展內(nèi)存容量,這樣就做到了既不浪費(fèi)內(nèi)存,又可以讓單鏈表容量隨輸入的增加而自適應(yīng)大小。
? ? ? ?單鏈表順序存儲(chǔ)結(jié)構(gòu)如下圖:
可能涉及到的語(yǔ)法難點(diǎn)
? ? ? ?剛接觸數(shù)據(jù)結(jié)構(gòu)的同學(xué),單鏈表順序存儲(chǔ)結(jié)構(gòu)可能會(huì)是其面對(duì)的第一個(gè)坎。這里涉及到了結(jié)構(gòu)體、動(dòng)態(tài)數(shù)組、結(jié)構(gòu)指針,甚至還有函數(shù)變量(函數(shù)做參數(shù),本質(zhì)是函數(shù)指針),所以需要有相對(duì)扎實(shí)的語(yǔ)言語(yǔ)法基礎(chǔ)。當(dāng)然,這也并不是說(shuō)一定得掌握了高級(jí)語(yǔ)法才能開(kāi)始學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),可以先將語(yǔ)言學(xué)到入門(mén)(入門(mén)意味著學(xué)會(huì)了提問(wèn)),再邊學(xué)數(shù)據(jù)結(jié)構(gòu)邊鞏固語(yǔ)法。一定要親自動(dòng)手寫(xiě)一寫(xiě),否則,肯定學(xué)不好。
源碼
? ? ? ?文件一 ?? SequenceList.h?
? ? ? ?文件二 ? ?SequenceList.c?
? ? ? ?文件三 ? ?SequenceList-main.c (測(cè)試文檔)
測(cè)試結(jié)果展示
? ? ? ?更多章節(jié)持續(xù)更新中...
總結(jié)
以上是生活随笔為你收集整理的2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java原生Excel单元格合并自定义导
- 下一篇: VS未加载wntdll错误