java - c++學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)應(yīng)不應(yīng)該用stl實(shí)現(xiàn)?
問(wèn)題描述
數(shù)據(jù)結(jié)構(gòu)初學(xué)者,之前有看過(guò)大話數(shù)據(jù)結(jié)構(gòu)的線性表,棧,隊(duì)列的內(nèi)容,c實(shí)現(xiàn)的。學(xué)校這學(xué)期開數(shù)據(jù)結(jié)構(gòu)c++,我直接看國(guó)外的教材,里面都是stl實(shí)現(xiàn)的,比如線性表數(shù)組描述刪除一個(gè)元素是移動(dòng)元素直接用copy,怎么移動(dòng)的過(guò)程也沒(méi)有,因?yàn)橹傲私恻c(diǎn)數(shù)據(jù)結(jié)構(gòu)還能理解,但越往后面擔(dān)心只會(huì)記語(yǔ)法而不理解了,這本書關(guān)于數(shù)據(jù)結(jié)構(gòu)的應(yīng)用寫的很詳細(xì)。應(yīng)該邊看這本書,邊看學(xué)校的教材(和大話一樣挺通俗的)。還是直接看這本書作為正式入門數(shù)據(jù)結(jié)構(gòu)的教材?
挺厚一本,應(yīng)用偏多
一大堆,拋出異常和stl的語(yǔ)法
問(wèn)題解答
回答1:要習(xí)慣使用STL,因?yàn)槟悻F(xiàn)在學(xué)的是數(shù)據(jù)結(jié)構(gòu),不是學(xué)習(xí)STL源碼,你的目標(biāo)應(yīng)該是搞懂?dāng)?shù)據(jù)結(jié)構(gòu),所以不要拘泥于這些細(xì)節(jié),否則會(huì)花費(fèi)掉你大量的時(shí)間.
你可以把數(shù)據(jù)結(jié)構(gòu)看完之后,再找一本STL源碼分析的書來(lái)看.
回答2:沒(méi)關(guān)系,這只是依據(jù)語(yǔ)言特性簡(jiǎn)化了操作。如果實(shí)在擔(dān)心,可以再看看用C語(yǔ)言實(shí)現(xiàn)的。
回答3:您好, 我也是初學(xué)者. 雖然我自己學(xué)數(shù)據(jù)結(jié)構(gòu)是先用c++(without stl)來(lái)學(xué)數(shù)據(jù)結(jié)構(gòu), 再用純c學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的, 不過(guò)我覺(jué)得其實(shí)沒(méi)有絕對(duì)的優(yōu)劣之分, 隱藏細(xì)節(jié)可以更專注于算法的表示, 顯示細(xì)節(jié)可以更深刻的理解其具體實(shí)現(xiàn), 孰優(yōu)孰劣, 真的很難界定, 就像拋一枚硬幣, 其實(shí)哪面朝上都無(wú)所謂, 有的大神是自頂向下學(xué)習(xí), 有的大神是自底向上學(xué)習(xí), 我覺(jué)得由此得出的結(jié)論是都可以通往終點(diǎn), 與其糾結(jié)這些, 不如選定一種立即著手開始學(xué)起來(lái). 猶豫才是最浪費(fèi)時(shí)間的. 我個(gè)人覺(jué)得直接去計(jì)蒜客學(xué)知識(shí)點(diǎn)然后刷對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)題比較合適入門, 題主的那本書我也有...
回答4:個(gè)人認(rèn)為:有足夠時(shí)間學(xué)習(xí)的話,自然是先能夠自己實(shí)現(xiàn)再使用STL比較好咯.....
回答5:使用stl實(shí)現(xiàn)肯定是要學(xué)的,畢竟使用stl可以加快開發(fā)效率。對(duì)于初學(xué)者建議不純使用stl,stl不是萬(wàn)能的,最終還是要理解數(shù)據(jù)結(jié)構(gòu)內(nèi)部原理,這樣使用stl實(shí)現(xiàn)起來(lái)才能更加得心應(yīng)手。另外對(duì)于學(xué)校課程還是不用的好,不然提交作業(yè)只是包含了相關(guān)頭文件,幾乎沒(méi)有自己的實(shí)現(xiàn)。也可以用簡(jiǎn)單的stl堆砌復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
相關(guān)文章:
1. python - 數(shù)據(jù)與循環(huán)次數(shù)對(duì)應(yīng)不上2. mysql - 把一個(gè)表中的數(shù)據(jù)count更新到另一個(gè)表里?3. 請(qǐng)教使用PDO連接MSSQL數(shù)據(jù)庫(kù)插入是亂碼問(wèn)題?4. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處5. Python爬蟲如何爬取span和span中間的內(nèi)容并分別存入字典里?6. 視頻文件不能播放,怎么辦?7. mysql 查詢身份證號(hào)字段值有效的數(shù)據(jù)8. python - 爬蟲模擬登錄后,爬取csdn后臺(tái)文章列表遇到的問(wèn)題9. node.js - nodejs開發(fā)中常用的連接mysql的庫(kù)10. 黑客 - Python模塊安全權(quán)限
