版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、僚I處他車X歡謬昵HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY數(shù)據(jù)結(jié)構(gòu)A實(shí)驗(yàn)指導(dǎo)書馬春江撰寫付勇智審核電氣與信息工程學(xué)院計(jì)算機(jī)工程系2013年12月、八,、刖言數(shù)據(jù)結(jié)構(gòu)課程開設(shè) 8個(gè)必做的實(shí)驗(yàn):1線性表基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握線性表的建立、遍歷、插入、刪除等基本操作的 編程實(shí)現(xiàn),也可以進(jìn)一步編程實(shí)現(xiàn)查找、逆序、排序等操作,存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu)中任選,也 可以全部實(shí)現(xiàn),用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。2、 堆棧和隊(duì)列基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握堆棧和隊(duì)列的建立、進(jìn)棧、出棧、進(jìn)隊(duì)、出 隊(duì)
2、等基本操作的編程實(shí)現(xiàn),存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu)中任選,也可以全部實(shí)現(xiàn),用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。3、串基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握串的建立、遍歷、插入、刪除等基本操作的編程實(shí)現(xiàn), 也可以進(jìn)一步編程實(shí)現(xiàn)查找、合并、剪裁等操作,存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu)、索引結(jié)構(gòu)中任選,也 可以全部實(shí)現(xiàn),用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。4、 二維數(shù)組基本操作的編程實(shí)現(xiàn)( 2學(xué)時(shí),驗(yàn)證型),掌握數(shù)組的建立、讀取數(shù)據(jù)、壓縮存儲(chǔ)等基本操作 的編程實(shí)現(xiàn),存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu)中任選,也可以全部實(shí)現(xiàn),用菜單進(jìn)行管理。也鼓
3、勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。5、二叉樹基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握二叉樹的建立、遍歷、插入、刪除等基本操作的 編程實(shí)現(xiàn),也可以進(jìn)一步編程實(shí)現(xiàn)查找等操作,存儲(chǔ)結(jié)構(gòu)主要采用鏈接結(jié)構(gòu),用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。6、圖基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握?qǐng)D的建立、遍歷、插入、刪除等基本操作的編程實(shí)現(xiàn), 也可以進(jìn)一步編程實(shí)現(xiàn)查找等操作,存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu)中任選,也可以全部實(shí)現(xiàn),用菜單進(jìn) 行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。7、查找技術(shù)的編程實(shí)現(xiàn)(2學(xué)時(shí),綜合型),掌握查找技術(shù)的編程實(shí)現(xiàn),可以實(shí)現(xiàn)一種,也
4、可以實(shí)現(xiàn)多種, 用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。8、排序技術(shù)的編程實(shí)現(xiàn)(2學(xué)時(shí),綜合型),掌握排序技術(shù)的編程實(shí)現(xiàn),可以實(shí)現(xiàn)一種,也可以實(shí)現(xiàn)多種, 用菜單進(jìn)行管理。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。9、實(shí)驗(yàn)要求把每次實(shí)驗(yàn)的程序文本和運(yùn)行結(jié)果存入到本人的用戶目錄下供實(shí)驗(yàn)老師檢查。10 、對(duì)實(shí)驗(yàn)室要求是必須保證學(xué)生上機(jī)時(shí)人手一機(jī);必須保證滿足課程要求的上機(jī)時(shí)數(shù) ;必須配備專職的數(shù)據(jù)結(jié)構(gòu)課程的實(shí)驗(yàn)指導(dǎo)老師。目錄實(shí)驗(yàn)一線性表基本操作的編程實(shí)現(xiàn)4實(shí)驗(yàn)二堆棧和隊(duì)列基本操作的編程實(shí)現(xiàn)9實(shí)驗(yàn)三串基本操作的編程實(shí)現(xiàn) 12實(shí)驗(yàn)四二維數(shù)組基本操作的編程實(shí)現(xiàn) 16實(shí)驗(yàn)五二叉樹基
5、本操作的編程實(shí)現(xiàn) 19實(shí)驗(yàn)六圖基本操作的編程實(shí)現(xiàn) 24實(shí)驗(yàn)七查找技術(shù)的編程實(shí)現(xiàn) 27實(shí)驗(yàn)八排序技術(shù)的編程實(shí)現(xiàn) 29湖北汽車工業(yè)學(xué)院實(shí)驗(yàn)報(bào)告班 號(hào) 學(xué) 號(hào)姓名選課班中的序號(hào) 完成日期年月日_至 節(jié)實(shí)驗(yàn)一 線性表基本操作的編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解線性表的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的工作原理;2. 理解順序表和鏈表的工作原理;3. 掌握順序表和鏈表的程序設(shè)計(jì);二、實(shí)驗(yàn)要求編程實(shí)現(xiàn)通用的線性表常用功能程序,其中插入數(shù)據(jù)和刪除數(shù)據(jù)是必須實(shí)現(xiàn)的。存儲(chǔ)結(jié)構(gòu)由學(xué)生自己選擇。實(shí)驗(yàn)題目采用班級(jí)目標(biāo)總體一致,細(xì)節(jié)由學(xué)生按照自己的能力隨意拓展和提高,程序源碼實(shí)現(xiàn)原創(chuàng)設(shè)計(jì)。存儲(chǔ)結(jié)構(gòu)最簡(jiǎn)模式為:順序存儲(chǔ),使用一維數(shù)組實(shí)現(xiàn)。
6、鼓勵(lì)使用鏈表結(jié)構(gòu),一般可以采用單鏈表結(jié)構(gòu),更 加復(fù)雜的可以采用循環(huán)鏈表或雙向鏈表結(jié)構(gòu)。時(shí)間足夠的情況下,希望把這些在課外全部自行編程實(shí)現(xiàn)。界面設(shè)計(jì)最簡(jiǎn)模式為:無界面設(shè)計(jì),極少提示。鼓勵(lì)更加人性化的界面設(shè)計(jì),提示清晰,操作過程流暢。 如果啟用文件,則可以采用全程無界面設(shè)計(jì)模式。原始數(shù)據(jù)構(gòu)建方式最簡(jiǎn)模式為:鍵盤輸入。其他的方式也在鼓勵(lì)之中:數(shù)據(jù)內(nèi)置,計(jì)算機(jī)自動(dòng)生成,文件 讀入。數(shù)據(jù)類型最簡(jiǎn)模式為:整數(shù)。其他依次鼓勵(lì)使用的為:實(shí)數(shù)、字符、英語字符串、漢字字符串。三、實(shí)驗(yàn)內(nèi)容功能設(shè)計(jì)最簡(jiǎn)模式為:原始數(shù)據(jù)構(gòu)建、全部數(shù)據(jù)遍歷、插入數(shù)據(jù)、刪除數(shù)據(jù)。其他的任何相關(guān)功能見參考 教材,鼓勵(lì)實(shí)現(xiàn)。開發(fā)語言最簡(jiǎn)模式為
7、: C語言。以下依次為更加鼓勵(lì)的設(shè)計(jì)環(huán)境:C+(不帶對(duì)象),C+(帶對(duì)象),C+帶圖形包(帶對(duì)象),C+ wi ndows mfc (帶對(duì)象)。知識(shí)分布原始數(shù)據(jù)構(gòu)建、全部數(shù)據(jù)遍歷屬于 C語言。插入數(shù)據(jù)、刪除數(shù)據(jù)涉及的循環(huán)程序設(shè)計(jì)屬于C語言。但是插入數(shù)據(jù)、刪除數(shù)據(jù)涉及的數(shù)據(jù)移動(dòng)的必要性、移動(dòng)的所有位置和數(shù)量控制、具體移動(dòng)的過程、移動(dòng)對(duì)于 程序的時(shí)間效率產(chǎn)生的影響屬于數(shù)據(jù)結(jié)構(gòu)原理范疇。重點(diǎn)實(shí)驗(yàn)內(nèi)容圖示教材圖3-2順序表插入操作的示意圖dtfct FULFIL IVV1址a47if101借科憤63ill1 . |0607y卜列冋WX01巖影0w iS 910oOKHEitWiinr掃述UlH7 |如
8、VT07.cXt6301H7 06071教材圖3-3順序表刪除操作的示意圖順序表的操作關(guān)鍵是要把相關(guān)的坐標(biāo)控制好,如合法的插入和刪除位置的范圍,移動(dòng)數(shù)據(jù)兩邊的坐標(biāo)值。 完成任務(wù)最后要注意數(shù)據(jù)量的變化。newnode 222|Aheadp / Z-T 4*T ill 殳4 333命 444AJchp教材圖3-6單鏈表中進(jìn)行插入操作的示意圖follow? seatchp教材圖3-7單鏈表存儲(chǔ)刪除操作的示意圖鏈表編程主要是注意關(guān)鍵語句的次序相關(guān)性,注意不要出現(xiàn)“內(nèi)存垃圾”,把握好修改鏈的節(jié)奏和語句。 注意空間的結(jié)點(diǎn)的申請(qǐng)和釋放。重點(diǎn)實(shí)驗(yàn)內(nèi)容參考源碼 順序表returninfo seqlist:i n
9、sert(i nt positi on,const int &item)/ 插入一個(gè)元素if(co un t+1=Maxsize) return overflow;if(positi oncoun t+1) retur n ran ge_error;coun t+;for(i nt i=co un t;i=positi on ;i-) dataarrayi=dataarrayi-1;dataarraypositi on-1=item;retur n success;retur ninfo seqlist:remove(i nt positi on) if(empty()retur n un d
10、erflow;if(positi oncount) retur n ran ge_error;for(i nt i=positi on-1;ico un t;i+) dataarrayi=dataarrayi+1;coun t-;retur n success;鏈表/溢出處理/計(jì)數(shù)器加一/循環(huán)移動(dòng)數(shù)據(jù)/刪除一個(gè)元素/循環(huán)移動(dòng)數(shù)據(jù)/計(jì)數(shù)器減一/給數(shù)據(jù)賦值/注意此處的次序相關(guān)性/計(jì)數(shù)器加一刪除一個(gè)結(jié)點(diǎn)returninfo lin klist:i nsert(i nt positi on,const int &item)/ 插入一個(gè)結(jié)點(diǎn)if(positi on=co un t+2)retur n r
11、an ge_error;node *newno dep=new no de,*searchp=headp-n ext,*followp=headpfor(i nt i=1; in ext;newno dep-data=item;newno dep-n ext=followp-n ext; followp-n ext =newno dep;coun t+;retur n success;retur ninfo lin klist:remove(i nt positi on) if(empty()retur n un derflow;/這里兩個(gè)指針的初始值設(shè)計(jì)一前一后if(positi on=co
12、 un t+1) retur n ran ge_error;node *searchp=headp-n ext,*followp=headp; for(i nt i=1; in ext;刪除結(jié)點(diǎn)的實(shí)際語句/釋放該結(jié)點(diǎn)/計(jì)數(shù)器減一followp-n ext=searchp-n ext; delete searchp;coun t-;retur n success;實(shí)驗(yàn)測(cè)試數(shù)據(jù)設(shè)計(jì)通過對(duì)各種數(shù)據(jù)的輸入和輸出的結(jié)果對(duì)比分析,證實(shí)所有的功能的正確性,特別是需要 測(cè)試非法數(shù)據(jù)的響應(yīng)情況。實(shí)驗(yàn)報(bào)告中需要提交這些數(shù)據(jù)以及結(jié)果和自己的分析。鼓勵(lì)提出一些錯(cuò)誤 (Bug)報(bào)告和改進(jìn)建議。以下為一個(gè)小的測(cè)試數(shù)據(jù)范例
13、:邏輯結(jié)構(gòu):線性表,存儲(chǔ)結(jié)構(gòu):順序,操作:插入。數(shù)據(jù)申請(qǐng)空間的下標(biāo) 范圍:0-10,實(shí)際數(shù)據(jù)最后的位置 6,0號(hào)單元可以啟用,也可以不用或者使用其他的功能。測(cè)試地址必須包括:-5、-1、0、1、5、6、7、9、10、11、18等至少11個(gè)數(shù)據(jù)。也就是說插入或刪除必須考慮意外的兩種情況: 1順序表在分配的地址空間中,但是范圍超界,2.完全是不存在的地址。其他的正常的都需要測(cè)試:如正常的邊界。如順序表插入時(shí),最后數(shù)據(jù)地址為5.則在6插入也是容許的。數(shù)據(jù)構(gòu)成的多態(tài)性學(xué)生可以根據(jù)自己的實(shí)力實(shí)現(xiàn)下面的某一個(gè)要求或同時(shí)實(shí)現(xiàn)多種數(shù)據(jù)類型的實(shí)現(xiàn)。1. 數(shù)據(jù)構(gòu)成為字符。由單個(gè)大寫字母構(gòu)成結(jié)點(diǎn)名稱。(小寫字母自動(dòng)
14、換成大寫字母)2. 數(shù)據(jù)構(gòu)成為字符串。由美國(guó)人的姓名組成。(可以為兩個(gè)或三個(gè)單詞,首字母大寫)3. 數(shù)據(jù)構(gòu)成為中文字符串。由中文人名組成。4. 數(shù)據(jù)構(gòu)成為多個(gè)數(shù)據(jù)。如一個(gè)人的多種信息。如:學(xué)號(hào)、姓名、性別、課程名、分?jǐn)?shù)等。(也可以自己設(shè)計(jì))實(shí)驗(yàn)報(bào)告提示實(shí)驗(yàn)報(bào)告主要按照以下的框架完成:本次實(shí)驗(yàn)的實(shí)驗(yàn)方式、目標(biāo)和其他背景信息。實(shí)驗(yàn)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的基本概念和原理(最好附圖)。實(shí)驗(yàn)的總體設(shè)計(jì)(功能和界面等,算法思路)。實(shí)驗(yàn)的程序設(shè)計(jì)細(xì)節(jié)或測(cè)試細(xì)節(jié)。實(shí)驗(yàn)的總收獲清單:(包含 弄懂的原理和一些結(jié)論、學(xué)會(huì)了新的一些語句或功能段源碼、學(xué)會(huì)了新的測(cè)試方法和過程、學(xué)會(huì)了內(nèi)部結(jié)構(gòu)控 制和一些軟件設(shè)計(jì)規(guī)范的細(xì)節(jié)
15、等等),實(shí)驗(yàn)的遺憾和下一步努力的方向(總結(jié)自己未能達(dá)成的目標(biāo)和原因分析,提出可行的改進(jìn)方案)。報(bào)告中應(yīng)該涉及界面截圖、開發(fā)過程綜述(花費(fèi)時(shí)間、總語句數(shù)、調(diào)試過程)、開發(fā)總結(jié)、重點(diǎn)源碼清單(本次實(shí)驗(yàn)僅僅為插入和刪除)、致謝等。在實(shí)驗(yàn)中受到其他同學(xué)的幫助時(shí)在報(bào)告最后的致謝中鼓勵(lì)實(shí)名感謝。實(shí)驗(yàn)提交文件約定程序名一律類似為:T1123-02-17-某某某-鏈表實(shí)驗(yàn)程序.cpp所有信息之間為中橫線。如果有文本文件,也是類似的結(jié)構(gòu):T1123-2-17-某某某-鏈表實(shí)驗(yàn)程序輸入數(shù)據(jù).txtT1123-2-17-某某某-鏈表實(shí)驗(yàn)程序輸出數(shù)據(jù).txt報(bào)告電子版為T1123-2-17-某某某-實(shí)驗(yàn)報(bào)告01.do
16、c(必須涉及工程的時(shí)候請(qǐng)打包管理,但是最后的文件名和內(nèi)部的文件名也需要如此管理。)思考題1. 線性表的順序存儲(chǔ)和鏈表存儲(chǔ)的差異??jī)?yōu)缺點(diǎn)分析?2. 那些操作引發(fā)了數(shù)據(jù)的移動(dòng)?3. 算法的時(shí)間效率是如何體現(xiàn)的?4. 鏈表的指針是如何后移的?如何加強(qiáng)程序的健壯性?實(shí)驗(yàn)使用參考書本實(shí)驗(yàn)指導(dǎo)書主要參考書為:數(shù)據(jù)結(jié)構(gòu)與程序構(gòu)建馬春江付勇智孟繁軍編著ISBN 978-7-302-29404-7清華大學(xué)出版社2012年8月第1版四、實(shí)驗(yàn)總結(jié)和體會(huì)湖北汽車工業(yè)學(xué)院實(shí)驗(yàn)報(bào)告班 號(hào) 學(xué) 號(hào)姓名選課班中的序號(hào) 完成日期年月日_至 節(jié)實(shí)驗(yàn)二棧和隊(duì)列基本操作的編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解棧和隊(duì)列的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的工
17、作原理;2. 理解棧和隊(duì)列的用途;3. 掌握棧和隊(duì)列的程序設(shè)計(jì);二、實(shí)驗(yàn)要求由于本次實(shí)驗(yàn)涉及到棧和隊(duì)列兩種數(shù)據(jù)結(jié)構(gòu)的原理,實(shí)驗(yàn)題目將按照分級(jí)和分類的方式提供,任何學(xué)生都可以選擇其中之一或多個(gè)綜合來達(dá)成對(duì)原理的理解。細(xì)節(jié)由學(xué)生按照自己的能力隨意拓展和提高,程序源碼實(shí) 現(xiàn)原創(chuàng)設(shè)計(jì)。存儲(chǔ)結(jié)構(gòu)最簡(jiǎn)模式為:順序存儲(chǔ),使用一維數(shù)組實(shí)現(xiàn)。鼓勵(lì)使用鏈表結(jié)構(gòu),一般可以采用單鏈表結(jié)構(gòu)。時(shí) 間足夠的情況下,希望把這些在課外全部自行編程實(shí)現(xiàn)。特別是希望和第一次實(shí)驗(yàn)采取相反的策略進(jìn)行選擇, 以此來提高自己對(duì)于不同的存儲(chǔ)結(jié)構(gòu)的熟練運(yùn)用。界面設(shè)計(jì)最簡(jiǎn)模式為:無界面設(shè)計(jì),極少提示。鼓勵(lì)更加人性化的界面設(shè)計(jì),提示清晰,操作過程
18、流暢。 如果啟用文件,則可以采用全程無界面設(shè)計(jì)模式。原始數(shù)據(jù)構(gòu)建方式最簡(jiǎn)模式為:鍵盤輸入。其他的方式也在鼓勵(lì)之中:數(shù)據(jù)內(nèi)置,計(jì)算機(jī)自動(dòng)生成,文件 讀入。數(shù)據(jù)類型最簡(jiǎn)模式為:整數(shù)。其他依次鼓勵(lì)使用的為:實(shí)數(shù)、字符、英語字符串、漢字字符串。三、實(shí)驗(yàn)內(nèi)容功能設(shè)計(jì)難度系數(shù)分為五級(jí)制:1:很容易,2:較容易,3:有一定難度,4:難度較大,5:難度很大。1. 棧功能演示系統(tǒng)。難度系數(shù):22. 漢字回文字符串的判斷程序。難度系數(shù):33. 十進(jìn)制正整數(shù)轉(zhuǎn)換為八進(jìn)制的程序。難度系數(shù):44. 環(huán)狀隊(duì)列功能演示系統(tǒng)。難度系數(shù):25. 十進(jìn)制正小數(shù)轉(zhuǎn)換為八進(jìn)制的程序。難度系數(shù):36. 用計(jì)算機(jī)自動(dòng)產(chǎn)生作業(yè)名、申請(qǐng)時(shí)間
19、和打印時(shí)間的隨機(jī)數(shù)據(jù),然后用隊(duì)列管理,隨時(shí)顯示隊(duì)列中的數(shù)據(jù)和已經(jīng)打印完畢的作業(yè)名。難度系數(shù):4C+開發(fā)語言最簡(jiǎn)模式為:C語言。以下依次為更加鼓勵(lì)的設(shè)計(jì)環(huán)境:C+(不帶對(duì)象),C+(帶對(duì)象),帶圖形包(帶對(duì)象),C+ wi ndows mfc (帶對(duì)象)。C語言。進(jìn)棧和出棧、進(jìn)隊(duì)和出隊(duì)等原理知識(shí)分布界面的顯示和控制、原始數(shù)據(jù)構(gòu)建、全部數(shù)據(jù)遍歷屬于 屬于數(shù)據(jù)結(jié)構(gòu)原理范疇。重點(diǎn)實(shí)驗(yàn)內(nèi)容圖示討論的初始狀態(tài)相對(duì)初始狀態(tài)進(jìn)棧 444的效果相對(duì)初始狀態(tài)出棧 333的效果i16665554443top 3;期:3tOp 2:滋B3 :2333233312221222top 13 滋 2 ! !01110111
20、U111教材圖5-2順序棧的進(jìn)棧、出棧示意圖111A1 inks lack lop空環(huán)隊(duì)入隊(duì)9次,出隊(duì)4次再入隊(duì)3次,出隊(duì)3次再入隊(duì)4次圖6-4環(huán)狀隊(duì)列的操作示意圖重點(diǎn)實(shí)驗(yàn)內(nèi)容參考源碼本次實(shí)驗(yàn)無參考代碼,請(qǐng)參考教材。(Bug)報(bào)實(shí)驗(yàn)測(cè)試數(shù)據(jù)設(shè)計(jì)通過對(duì)各種數(shù)據(jù)的輸入和輸出的結(jié)果對(duì)比分析,證實(shí)所有的功能的正確性,特別是需要 測(cè)試非法數(shù)據(jù)的響應(yīng)情況。 實(shí)驗(yàn)報(bào)告中需要提交這些數(shù)據(jù)以及結(jié)果和自己的分析。鼓勵(lì)提出一些錯(cuò)誤告和改進(jìn)建議。以下為一個(gè)小的測(cè)試數(shù)據(jù)范例:邏輯結(jié)構(gòu):棧,存儲(chǔ)結(jié)構(gòu):順序,操作:進(jìn)棧。數(shù)據(jù)申請(qǐng)空間的下標(biāo)范圍: 0-10,實(shí)際數(shù)據(jù)最后的位置 6, 0號(hào)單元可以啟用,也可以不用或者使用其他的
21、功能。測(cè)試必須包括:上溢、 溢。數(shù)據(jù)構(gòu)成的多態(tài)性學(xué)生可以根據(jù)自己的實(shí)力實(shí)現(xiàn)下面的某一個(gè)要求或同時(shí)實(shí)現(xiàn)多種數(shù)據(jù)類型的實(shí)現(xiàn)。5. 數(shù)據(jù)構(gòu)成為字符。由單個(gè)大寫字母構(gòu)成結(jié)點(diǎn)名稱。(小寫字母自動(dòng)換成大寫字母)6. 數(shù)據(jù)構(gòu)成為字符串。由美國(guó)人的姓名組成。(可以為兩個(gè)或三個(gè)單詞,首字母大寫)7. 數(shù)據(jù)構(gòu)成為中文字符串。由中文人名組成。8. 數(shù)據(jù)構(gòu)成為多個(gè)數(shù)據(jù)。如一個(gè)人的多種信息。如:學(xué)號(hào)、姓名、性別、課程名、分?jǐn)?shù)等。(也可以自己設(shè) 計(jì))9. 進(jìn)棧數(shù)據(jù)可以為象棋盤的位置坐標(biāo)。思考題棧和隊(duì)列的性質(zhì)?使用順序存儲(chǔ)和鏈表存儲(chǔ)的差異??jī)?yōu)缺點(diǎn)分析?棧和隊(duì)列引發(fā)了數(shù)據(jù)移動(dòng)嗎?為什么?算法的時(shí)間效率是如何體現(xiàn)的?棧和隊(duì)列各
22、自的主要作用?實(shí)驗(yàn)使用參考書本實(shí)驗(yàn)指導(dǎo)書主要參考書為:數(shù)據(jù)結(jié)構(gòu)與程序構(gòu)建馬春江付勇智孟繁軍編著ISBN 978-7-302-29404-7清華大學(xué)出版社2012年8月第1版四、實(shí)驗(yàn)總結(jié)和體會(huì)湖北汽車工業(yè)學(xué)院實(shí)驗(yàn)報(bào)告班號(hào)選課班中的序號(hào)學(xué)號(hào)姓名完成日期年月日至節(jié)實(shí)驗(yàn)三 串基本操作的編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解串的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的工作原理;2. 理解串的特殊性;3. 掌握順序串、鏈串、索引結(jié)構(gòu)的程序設(shè)計(jì);二、實(shí)驗(yàn)要求本次實(shí)驗(yàn)涉及到字符串工作原理,實(shí)驗(yàn)題目將按照基本功能展示和應(yīng)用級(jí)別的方式提供,任何學(xué)生都可以 選擇其中之一或多個(gè)綜合來達(dá)成對(duì)原理的理解。細(xì)節(jié)由學(xué)生按照自己的能力隨意拓展和提高,程序
23、源碼實(shí)現(xiàn)原 創(chuàng)設(shè)計(jì)。存儲(chǔ)結(jié)構(gòu)字符串使用順序存儲(chǔ),使用一維數(shù)組實(shí)現(xiàn)會(huì)引發(fā)大量的數(shù)據(jù)移動(dòng)。而單獨(dú)使用鏈表結(jié)構(gòu),又會(huì)引 發(fā)程序設(shè)計(jì)相當(dāng)困難。最終的解決方案是聯(lián)合使用數(shù)組和鏈表的思想,推出更復(fù)雜的索引結(jié)構(gòu),用最小的數(shù)據(jù) 移動(dòng)量解決上面的兩個(gè)致命問題。但是在實(shí)驗(yàn)中,可以使用單獨(dú)的存儲(chǔ)結(jié)構(gòu)進(jìn)行訓(xùn)練,以便對(duì)這種特殊的線性 表結(jié)構(gòu)和第一次實(shí)驗(yàn)中涉及到的線性表結(jié)構(gòu)做一個(gè)較為全面的對(duì)比。界面設(shè)計(jì)最簡(jiǎn)模式為:無界面設(shè)計(jì),極少提示。鼓勵(lì)更加人性化的界面設(shè)計(jì),提示清晰,操作過程流暢。 如果啟用文件,則可以采用全程無界面設(shè)計(jì)模式。原始數(shù)據(jù)構(gòu)建方式最簡(jiǎn)模式為:鍵盤輸入。其他的方式也在鼓勵(lì)之中:數(shù)據(jù)內(nèi)置,計(jì)算機(jī)自動(dòng)生成,文件
24、 讀入。數(shù)據(jù)類型英語字符串、漢字字符串。三、實(shí)驗(yàn)內(nèi)容功能設(shè)計(jì)難度系數(shù)分為五級(jí)制:1:很容易,2:較容易,3:有一定難度,4:難度較大,5:難度很大。1.字符串的查找和其他基本功能的實(shí)現(xiàn)。難度系數(shù):22.統(tǒng)計(jì)文件中各種信息,如字符個(gè)數(shù),行數(shù)等。難度系數(shù):23.中央語次序互換系統(tǒng)的設(shè)計(jì)。難度系數(shù):34.多個(gè)文本文件敏感水印信息的抄襲判別系統(tǒng)。(可以把多個(gè)文件拷貝到一個(gè)文件中)難度系數(shù):45.索引系統(tǒng)的部分功能實(shí)現(xiàn)。(將來可以拓展為課程設(shè)計(jì))難度系數(shù):5C+開發(fā)語言最簡(jiǎn)模式為:C語言。以下依次為更加鼓勵(lì)的設(shè)計(jì)環(huán)境:C+(不帶對(duì)象),C+(帶對(duì)象),帶圖形包(帶對(duì)象),C+ wi ndows mfc
25、(帶對(duì)象)。知識(shí)分布界面的顯示和控制、數(shù)據(jù)輸入、全部數(shù)據(jù)遍歷屬于C語言。字符串的重要操作在存儲(chǔ)結(jié)構(gòu)中的具體實(shí)現(xiàn)等原理屬于數(shù)據(jù)結(jié)構(gòu)原理范疇。主要操作名稱表表7-2字符串的主要操作操作 名稱建議算法名稱編程細(xì)節(jié)約定串初始化create (stri ng)求串長(zhǎng)strle ngth(stri ng)返回串string 的長(zhǎng)度串賦值strassig n( stri ng1,stri ng2)stri ng1是一個(gè)串變量,stri ng2 是一個(gè)串常量或串變量(通常stri ng2是一個(gè)串常量時(shí)稱為串賦值,是一個(gè)串變量稱為串復(fù)制)。將string2 的串值賦值給string1 , string1原來的值
26、被覆蓋掉串連接strcon cat(stri ng1,stri ng2,stri ng) 或 strc on cat(stri ng1,stri ng2)兩個(gè)串的聯(lián)接就是將一個(gè)串的串值放在另一個(gè)串的 后面,連接成一個(gè)串。前者是產(chǎn)生新串stri ng ,string1和string2不改變;后者是在string1的后面聯(lián)接 string2的串值,string1改變,string2不改變。例如:stri ng1= bei , stri ng2=jing ,前者操作結(jié)果是string= bei jing ,后者操作結(jié)果是 string1= bei jing 求子串strsub(stri ng,i,l
27、e n)串 string 存在,1 i strlength(string), 0 lenw strlength(string)-i+1。返回從串 string 的第 i個(gè)字符開始的長(zhǎng)度為len的子串。len=0得到的是 空串。例如:strsub( abcdefghi ,3,4)=cdef串比較strcomp(stri ng1,stri ng2)若 stri ng仁=stri ng2,操作返 回值為 0 ;若string1string2,返回值 string2,返回值0子串定位stri ndex(stri ng,substri ng)尋找子串substring 在主串string中首次出現(xiàn)的位置
28、。若 substring 在 string中,則操作返回substring在string中首次出現(xiàn)的位置,否則返回值為-1。如:strindex( abcdebda , bc )=2,strindex( abcdebda , ba )=-1串插入stri nsert(stri ng,i, substri ng)串 string 、 substring存在, 1 w i wstrle ngth(stri ng)+1。將串 substri ng 插入到串string 的第i個(gè)字符位置上串刪除strdelete(stri ng,i,le n)串 string 存在,1 w i w strlength
29、(string), 0 w lenw strle ngth(stri ng)-i+1。刪除串 stri ng 中從第i個(gè)字符開始的長(zhǎng)度為len的子串串替換strreplace(stri ng, substri ng01, substri ng02)串 string 、 substring01 、 substring02 存在, substri ng01 不為空。用串 substri ng02 替換串string中出現(xiàn)的所有與串substri ng01相等的不重疊的子串串遍歷strtraverse(stri ng)把字符串中所有字符從頭至尾依次輸出重點(diǎn)實(shí)驗(yàn)內(nèi)容參考源碼retur ninfo st
30、ri ng:strmodify(i nt begi npositi on ,i nt en dpositi on, char n ewstr)int i,j,k,str_le ngth,co un t, newle ngth,retur nvalue;char *n ewdata;coun t=e ndpositi on-begi npositi on+1;str_le ngth=strle n(n ewstr);if(le ngth=0)return empty;if(beg in positi onlen gth|e ndpositi onlen gth|begi npositi on=0
31、|e ndpositi onen dpositi on)return ran ge_error;如果位置錯(cuò)誤則返回錯(cuò)誤標(biāo)志for(i=0,j=begi npositio n-1;istr_le ngth &icou nt)當(dāng)輸入串的長(zhǎng)度大于需要修改串的長(zhǎng)度時(shí),處理后面多的一部分n ewle ngth=str_le ngth-co unt;n ewdata=new char newle ngth;for(i=co un t,k=0;istr_le ngth;i+,k+)n ewdatak=n ewstri;retur nvalue=stri nsert(e ndpositi on+1, newd
32、ata ,n ewle ngth);if(retur nvalue=overflow)return overflow;if(str_le ngthvcou nt)當(dāng)輸入串的長(zhǎng)度小于需要修改串的長(zhǎng)度時(shí),直接刪除一部分strdelete(begi npositi on+str_le ngth,e ndpositi on);retur n success;實(shí)驗(yàn)測(cè)試數(shù)據(jù)設(shè)計(jì)通過對(duì)各種數(shù)據(jù)的輸入和輸出的結(jié)果對(duì)比分析,證實(shí)所有的功能的正確性,特別是需要測(cè)試非法數(shù)據(jù)的響應(yīng)情況。實(shí)驗(yàn)報(bào)告中需要提交這些數(shù)據(jù)以及結(jié)果和自己的分析。鼓勵(lì)提出一些錯(cuò)誤(Bug)報(bào)告和改進(jìn)建議。對(duì)字符串的修改功能,將有三種情況,新串長(zhǎng)分
33、別小于、等于、大于原串長(zhǎng)。這個(gè)細(xì)節(jié)和一般線性表有著很大的不同。數(shù)據(jù)構(gòu)成的多態(tài)性學(xué)生可以根據(jù)自己的實(shí)力實(shí)現(xiàn)下面的某一個(gè)要求或同時(shí)實(shí)現(xiàn)多種數(shù)據(jù)類型的實(shí)現(xiàn)。字符串可以體現(xiàn)在人名、地名、物品名,可以體現(xiàn)在英語文章,一般性口語造句??梢泽w現(xiàn)在各種文字中,如 英語或中文。思考題1. 字符串的順序存儲(chǔ)和鏈表存儲(chǔ)的差異?C語言中是如何實(shí)現(xiàn)字符串的?2. 在字符串處理方面主要有什么操作?3. 字符串的操作的主要特點(diǎn)是什么?4. 索引結(jié)構(gòu)的最大優(yōu)點(diǎn)是什么?在哪些實(shí)際系統(tǒng)中有應(yīng)用?5. 舉出幾個(gè)字符串的應(yīng)用范例?實(shí)驗(yàn)使用參考書本實(shí)驗(yàn)指導(dǎo)書主要參考書為:數(shù)據(jù)結(jié)構(gòu)與程序構(gòu)建馬春江付勇智孟繁軍編著ISBN 978-7-3
34、02-29404-7清華大學(xué)出版社2012年8月第1版四、實(shí)驗(yàn)總結(jié)和體會(huì)湖北汽車工業(yè)學(xué)院實(shí)驗(yàn)報(bào)告班 號(hào) 學(xué) 號(hào)姓名選課班中的序號(hào) 完成日期年月日_至 節(jié)實(shí)驗(yàn)四 二維數(shù)組基本操作的編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解線性表的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的工作原理;2. 理解順序表和鏈表的工作原理;3. 掌握順序表和鏈表的程序設(shè)計(jì);二、實(shí)驗(yàn)要求掌握二維數(shù)組的建立、讀取數(shù)據(jù)、壓縮存儲(chǔ)等基本操作的編程實(shí)現(xiàn),存儲(chǔ)結(jié)構(gòu)可以在順序結(jié)構(gòu)或鏈接結(jié)構(gòu) 中任選,也可以全部實(shí)現(xiàn)。也鼓勵(lì)學(xué)生利用基本操作進(jìn)行一些應(yīng)用的程序設(shè)計(jì)。三、實(shí)驗(yàn)內(nèi)容1. 修改程序:補(bǔ)充推箱子游戲的遺缺的部分,使之能正常運(yùn)行,邏輯結(jié)果正確。之后增加至少一關(guān)自己的
35、關(guān)數(shù),墻體,箱子的最初位置,人的最初位置由自己設(shè)定,要求必須有解,而且有一定的破解難度。主要的問 題是部分移動(dòng)方向的代碼沒有給出,另外計(jì)數(shù)器的整體工作不正常,更完善的修改包括啟用棧結(jié)構(gòu)實(shí)現(xiàn)后悔的 機(jī)制。2. 運(yùn)行程序了解二維結(jié)構(gòu):稀疏矩陣的壓縮和解壓縮、生命繁衍模型、迷宮問題等,通過這些程序的運(yùn)行 過程或結(jié)果體會(huì)二維結(jié)構(gòu)在程序設(shè)計(jì)中的重要性和實(shí)用性。原始數(shù)據(jù)構(gòu)建方式最簡(jiǎn)模式為:鍵盤輸入。其他的方式也在鼓勵(lì)之中:數(shù)據(jù)內(nèi)置,計(jì)算機(jī)自動(dòng)生成,文件讀入。 思考問題1. 數(shù)組的下標(biāo)從什么地址開始?好處是什么?2. 二維數(shù)組的表達(dá)能力僅僅限于橫向和縱向的數(shù)據(jù)關(guān)系嗎?3. 壓縮數(shù)據(jù)主要的思路是什么?4. 為
36、什么用數(shù)組可以存儲(chǔ)超出計(jì)算機(jī)數(shù)據(jù)要求的范圍的數(shù)字?5. 舉出幾個(gè)數(shù)組的應(yīng)用范例?實(shí)驗(yàn)使用參考書本實(shí)驗(yàn)指導(dǎo)書主要參考書為:數(shù)據(jù)結(jié)構(gòu)與程序構(gòu)建馬春江付勇智孟繁軍編著ISBN 978-7-302-29404-7清華大學(xué)出版社2012年8月第1版 參考代碼void box:right()if(mappositi on hpositi onl+1=0)mappositi on hpositi onl+1=4;if(flag=1)mappositi on hpositi on l=2; flag=0; elsemappositi on hpositi on l=0; positi onl+;else if
37、(mappositi on hpositi onl+1=2) 人要到目標(biāo)位置上mappositi on hpositi onl+1=4; if(flag=1)mappositi on hpositi on l=2; elsemappositi on hpositi on l=0;恢復(fù)目標(biāo)位置恢復(fù)原來的狀態(tài)flag=1;標(biāo)志位,記錄人在目標(biāo)位置上positi onl+;else if(mappositi on hpositi onl+1=3&mappositi on hpositi onl+2=0) 位置上mappositi on hpositi onl+2=3;mappositi on hpo
38、siti onl+1=4;if(flag=1) mappositi on hpositi on l=2; flag=0; elsemappositi on hpositi on l=0;positi onl+;else if(mappositi on hpositi onl+1=5&mappositi on hpositi onl+2!=1)位置上推出將箱子推到空白要將箱子從目標(biāo)if(mappositi on hpositi onl+2=2) mappositi on hpositi onl+2=5;mappositi on hpositi onl+1=4; if(flag=1)mapposi
39、ti on hpositi on l=2;下一個(gè)位置還是目標(biāo)位置else mappositi on hpositi on l=0; flag=1; else if(mappositio nhpositio nl+2=0)下一個(gè)位置是空白mappositi on hpositi onl+2=3;mappositi on hpositi onl+1=4;if(flag=1)mappositi on hpositi on l=2;else mappositi on hpositi on l=0; flag=1; positi onl+;要將箱子推到目else if(mappositi on hpos
40、iti onl+1=3&mappositi on hpositi onl+2=2)標(biāo)位置上mappositio nhpositio nl+2=5;箱子在目標(biāo)位置上mappositi on hpositi onl+1=4;if(flag=1)人在目標(biāo)位置上 mappositi on hpositi on l=2; flag=0; else / 人不在目標(biāo)位置上mappositi on hpositi on l=0;positi onl+;else cou nt-;抵消人不動(dòng)的情況test_flag();四、實(shí)驗(yàn)總結(jié)和體會(huì)湖北汽車工業(yè)學(xué)院實(shí)驗(yàn)報(bào)告班 號(hào) 學(xué) 號(hào)姓名選課班中的序號(hào) 完成日期年月日_至
41、 節(jié)實(shí)驗(yàn)五二叉樹基本操作的編程實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?. 了解二叉樹的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)的工作原理;2. 理解二叉樹的功能;3. 掌握二叉樹的程序設(shè)計(jì);二、實(shí)驗(yàn)要求二叉樹基本操作的編程實(shí)現(xiàn)二叉樹基本操作的編程實(shí)現(xiàn)(2學(xué)時(shí),驗(yàn)證型),掌握二叉樹的建立、遍歷、插入、刪除等基本操作的編程 實(shí)現(xiàn),存儲(chǔ)結(jié)構(gòu)主要采用鏈接結(jié)構(gòu)。實(shí)驗(yàn)性質(zhì)驗(yàn)證性實(shí)驗(yàn)(學(xué)時(shí)數(shù):2H)三、實(shí)驗(yàn)內(nèi)容本次實(shí)驗(yàn)分為三種模式:第一種:全部自行編程,完成二叉樹構(gòu)建和遍歷的操作。第二種:使用教材中的程序構(gòu)建基本框架,將三種根序遍歷的遞歸實(shí)現(xiàn)和層次遍歷回填并且調(diào)試成功。注意如果僅僅顯示成多個(gè)數(shù)據(jù),三種根序遍歷相對(duì)是比較簡(jiǎn)單的。如a b c d 可以先
42、行嘗試去完成。如果要把結(jié)果顯示成線性表的邏輯結(jié)構(gòu),即帶有括號(hào)和逗號(hào)分隔的形式,就有一定的技巧性。如(a,b,c.d )比較難,可以在上面的程序設(shè)計(jì)結(jié)束后再改進(jìn)。注意報(bào)告中的二叉樹應(yīng)該是自己設(shè)計(jì)的,每個(gè)學(xué)生的都是不同的,結(jié)果首先自己分析出來,然后再通過程 序的運(yùn)行結(jié)果進(jìn)行對(duì)比,從而理解一些設(shè)計(jì)原理。第三種:用c進(jìn)行程序的改進(jìn)和提高,把下面的程序源碼進(jìn)行輸入和改寫,調(diào)試,直到成功。1. 建立二叉樹,并以前序遍歷的方式將結(jié)點(diǎn)內(nèi)容輸出。2. 將一個(gè)表示二叉樹的數(shù)組結(jié)構(gòu)轉(zhuǎn)換成鏈表結(jié)構(gòu)。3. 將表達(dá)式二叉樹方式存入數(shù)組,以遞歸方式建立表達(dá)式之二叉樹狀結(jié)構(gòu),再分別輸出前序、中序及后 序遍歷結(jié)果,并計(jì)算出表達(dá)
43、式之結(jié)果。有興趣和精力的學(xué)生可以自行學(xué)習(xí)線索二叉樹的程序構(gòu)建,對(duì)比某些功能的設(shè)計(jì)上的差異。思考問題1. 二叉樹是樹嗎?它的定義為什么是遞歸的?2. 三種根序遍歷主要思路是什么?3. 如果不用遍歷算法一般啟用什么數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)后序遍歷?4. 舉出二叉樹的應(yīng)用范例?參考代碼#i nclude#in clude#in clude#in cludeusing n amespace std;enum returni nfo success,fail,overflow,u nderflow, nolchild, no rchild, no father,haveso nl,haves onr, haveas
44、 on, havetwos on s,ra nge_error,quit;定義返回信息清單#defi ne Maxsize 100/定義廣義表數(shù)組的長(zhǎng)度char defaultbtree1=a(b,c(,d);/默認(rèn)廣義表數(shù)據(jù)表示的二叉樹范例1char defaultbtree2=a(b(c(d,e),f(,g),h(i,j);/ 默認(rèn)廣義表數(shù)據(jù)表示的二叉樹范例2class nodefrie nd class btree;/二叉樹類的友元類public:node(char initdata=0,int initdeep=0,node *initl=NULL,node *initr=NULL,n
45、 ode *in itf=NULL, node *initn=N ULL);no de() ;protected:char data;二叉樹結(jié)點(diǎn)中的數(shù)據(jù),此處定義為字符int deep;設(shè)置二叉樹結(jié)點(diǎn)的深度n ode *lchild; 左兒子node *rchild; / 右兒子node *father; /父親結(jié)點(diǎn)n ode *n ext;/用單鏈表處理所有結(jié)點(diǎn)時(shí)指向下一個(gè)結(jié)點(diǎn);no de: no de(char in itdata,i nt in itdeep ,node *in itl, node *in itr, node *initf,node *in it n)data=in it
46、data;deep=in itdeep;lchild=i nitl;rchild=in itr;father=i nitf;n ext=in it n;class stackdata 創(chuàng)建一個(gè)stackdata類,在非遞歸遍歷算法中需要friend class btree;private:node *li nk; int flag;public:stackdata() ; stackdata() ;class btree /創(chuàng)建一個(gè)二叉樹類 private:char btreedataMaxsize; char an swer;node *root;node *workinp,*linkrea
47、r; int btreeco unt;bool firstbracket; countnow; leafc ount;coun tall;son deep;int/廣義表字符數(shù)組/用于回答菜單選項(xiàng)/指向根結(jié)點(diǎn)位置的指針/定義一個(gè)工作指針,尾部指針/結(jié)點(diǎn)個(gè)數(shù)計(jì)數(shù)器顯示廣義表時(shí)處理第一個(gè)括號(hào),為1是,每一次需要使用計(jì)數(shù)器時(shí)臨時(shí)保存該值變成0就不是了intintintpublic:btree( node *in itrootp);btree()root=NULL;firstbracket=1;coun tall=0;btreeco un t=0;btree() ;void in itfirstbra
48、cket();/創(chuàng)建兒子結(jié)點(diǎn)時(shí)保存當(dāng)前深度/遞歸函數(shù)內(nèi)部統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)/二叉樹統(tǒng)計(jì)后的結(jié)點(diǎn)個(gè)數(shù)把第一個(gè)括號(hào)標(biāo)志位恢復(fù)成1為默認(rèn)數(shù)據(jù),2為鍵盤輸入returni nfo createroot();void visit (node *searchp);void showbtreedata();int rgetco unt(node *searchp);int getco un t();retur ninfo cha ngework in pp();retur ninfo findno de(); returninfo addchild();retur ninfo delete no de();ret
49、urni nfo get in formati on();returninfo createbtree(int choice); / 根據(jù)廣義表字符串生成二叉樹,choice=1/建立樹根函數(shù)/訪問當(dāng)前結(jié)點(diǎn)數(shù)據(jù)域/在主界面中顯示當(dāng)前工作數(shù)組/遞歸統(tǒng)計(jì)二叉樹中的結(jié)點(diǎn)個(gè)數(shù)/記錄二叉樹中的結(jié)點(diǎn)個(gè)數(shù)/將工作指針指向左兒子、右兒子或者父親/查找結(jié)點(diǎn)/增加左兒子或者右兒子刪除結(jié)點(diǎn)/獲取二叉樹結(jié)點(diǎn)和葉子信息returninfo gliststravel(node *searchp);/ 以廣義表 glists 表示法輸出二叉樹 returni nfo in de nttravel( node *search
50、p);/ 以凹入 in de nt 表示法輸出二叉樹 returninfo preorder (node *searchp);/ 遞歸先根遍歷retur ninfo ino rder returni nfo postorder returni nfo n rpreorder retur ninfo nrino rder(n ode *searchp);遞歸中根遍歷 (n ode *searchp);遞歸后根遍歷 (n ode *searchp);非遞歸先根遍歷 (n ode *searchp);非遞歸中根遍歷returninfo nrpostorder (node *searchp); 非遞歸后根遍歷returni nfo levelorder(node *searchp); 層次遍歷;returni nfo btree:preorder( node *se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車租賃與智能交通系統(tǒng)對(duì)接合同3篇
- 2025-2030全球全自動(dòng)農(nóng)業(yè)機(jī)器人行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2024年全國(guó)數(shù)控技能大賽理論考試題庫-上(單選題) (二)
- 2025年度鋼管架施工設(shè)備租賃合同樣本
- 2025年度個(gè)人反擔(dān)保合同糾紛解決協(xié)議
- 2025年度數(shù)字電視信號(hào)接收器采購合同4篇
- 2025版施工合同擔(dān)保人資質(zhì)審核及責(zé)任規(guī)范3篇
- 教育者與科技聯(lián)手強(qiáng)化校園安全措施
- 2025年度商鋪物業(yè)管理與商業(yè)策略規(guī)劃合同4篇
- 二零二五年度茶館社區(qū)服務(wù)合作協(xié)議4篇
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 電力溝施工組織設(shè)計(jì)-電纜溝
- 單位往個(gè)人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國(guó)式摔跤課程學(xué)生運(yùn)動(dòng)能力測(cè)評(píng)規(guī)范
- 鍋爐本體安裝單位工程驗(yàn)收表格
- 一種基于STM32的智能門鎖系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- 高危妊娠的評(píng)估和護(hù)理
- 妊娠合并強(qiáng)直性脊柱炎的護(hù)理查房
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論