信管軟件11級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第1頁
信管軟件11級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第2頁
信管軟件11級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第3頁
信管軟件11級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第4頁
信管軟件11級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、11級軟件、信管課程設(shè)計(jì)要求:本課程設(shè)計(jì)要求在17-18周完成,課程設(shè)計(jì)題目如附件所示,共有46題,題目分配方案如下:學(xué)號1號和16、31號可做1、16、31題,2號和17、32號可做2、17、32題依此類推,每人可3選1做。信管1101、02、軟件1101班19周星期一下午15:00-17:00在我辦公室2501答辯(按學(xué)號來),課程設(shè)計(jì)的源程序?qū)W習(xí)委員將其匯總起來,然后一個班刻錄成一個光盤答辯時給我交過來,答辯人則只需帶好課程設(shè)計(jì)報(bào)告和演示程序過來。課程設(shè)計(jì)報(bào)告規(guī)范見另外一個文件,請大家重視這次課程設(shè)計(jì),我會根據(jù)你的課程設(shè)計(jì)報(bào)告和答辯情況當(dāng)時給該門課程的成績,不再另外安排時間接收課程設(shè)計(jì)報(bào)

2、告的答辯要求,謝謝配合!(光盤名字命名為軟件1101數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(每個同學(xué)一個文件夾,文件夾命名規(guī)則 學(xué)號+姓名+課題名) -戴成秋 2012-12-27課程設(shè)計(jì)題目:1. 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)(難度*)任務(wù):參加運(yùn)動會有10個學(xué)校,學(xué)校編號為110。比賽分成18個男子項(xiàng)目,和12個女子項(xiàng)目。項(xiàng)目編號為男子118,女子1930。不同的項(xiàng)目取前三名積分,前三名的積分分別為:5、3、2。功能要求:1) 可以輸入各個項(xiàng)目的前三名的成績;2) 能統(tǒng)計(jì)各學(xué)校總分;3) 可以按學(xué)校編號或名稱、學(xué)??偡?、男女團(tuán)體總分排序輸出;4) 數(shù)據(jù)存入文件并能隨時查詢 5) 規(guī)定:輸入數(shù)據(jù)形式和范圍:可以輸入學(xué)校的名稱,

3、運(yùn)動項(xiàng)目的名稱輸出形式:有中文提示,各學(xué)校分?jǐn)?shù)為整型存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計(jì),但是要求運(yùn)動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。(數(shù)據(jù)文件的數(shù)據(jù)讀寫方法等相關(guān)內(nèi)容在java語言程序設(shè)計(jì)的書上,請自學(xué)解決)請?jiān)谧詈蟮纳辖毁Y料中指明你用到的存儲結(jié)構(gòu);測試數(shù)據(jù):測試數(shù)據(jù)及測試結(jié)果請?jiān)谏辖坏馁Y料中寫明;2. 飛機(jī)訂票系統(tǒng)(難度*)任務(wù):通過此系統(tǒng)可以實(shí)現(xiàn)如下功能:錄入:可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉);可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況

4、;訂票:(訂票情況可以存在一個數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要有編號。要求:根據(jù)以上功能說明,設(shè)計(jì)航班信息,訂票信息的存儲結(jié)構(gòu),設(shè)計(jì)程序完成功能; 3. 文章編輯(難度*)功能:從鍵盤輸入一頁文字,靜態(tài)存儲在一個文件中要求:(1)分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);(2)統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);(3)刪除某一子串,并將后面的字符前移。存儲結(jié)構(gòu)使用線性表,分別用幾個子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;輸入數(shù)據(jù)的形式和范圍:可以輸入大寫、

5、小寫的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號。輸出形式:(1)分行輸出用戶輸入的各行字符;(2)分4行輸出全部字母數(shù)、數(shù)字個數(shù)、空格個數(shù)、文章總字?jǐn)?shù)(3)輸出刪除某一字符串后的文章;4. 哈希表設(shè)計(jì)問題描述針對某個集體中人名設(shè)計(jì)一個哈希表,使得平均查找長度不超過R,并完成相應(yīng)的建表和查表程序?;疽蠹僭O(shè)人名為中國人姓名的漢語拼音形式。待填入哈希表的人名共有30個,取平均查找長度的上限為2。哈希函數(shù)用除留余數(shù)法構(gòu)造,用線性探測再散列法或鏈地址法處理沖突。測試數(shù)據(jù)取讀者周圍較熟悉的30個人名。選作內(nèi)容(1) 從教科書上介紹的集中哈希函數(shù)構(gòu)造方法中選出適用者并設(shè)計(jì)幾個不同的哈希函數(shù),比較他們的地址沖突率(可

6、以用更大的名字集合作實(shí)驗(yàn))。(2) 研究這30個人名的特點(diǎn),努力找一個哈希函數(shù),使得對于不同的拼音名一定不發(fā)生地址沖突。(3) 在哈希函數(shù)確定的前提下嘗試各種不同處理沖突的方法,考察平均查找長度的變化和造好的哈希表中關(guān)鍵字的聚集性。5. 宿舍管理查詢軟件(難度*)任務(wù):為宿舍管理人員編寫一個宿舍管理查詢軟件, 程序設(shè)計(jì)要求:(1)建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號、房號)進(jìn)行排序(冒泡、選擇、插入排序等任選一種)(2)實(shí)現(xiàn)如下查詢功能: 按姓名查詢 按學(xué)號查詢 按房號查詢(3)打印任一查詢結(jié)果(可以連續(xù)操作)6. 校園導(dǎo)航問題(難度*)設(shè)計(jì)要求:設(shè)計(jì)你的學(xué)校的平面圖,至少包括10個以

7、上的場所,每兩個場所間可以有不同的路,且路長也可能不同,找出從任意場所到達(dá)另一場所的最佳路徑(最短路徑)。7. 圖書借閱管理系統(tǒng)(難度*) 主要分為兩大功能:1) 圖書管理(增加圖書、查詢圖書、刪除圖書、圖書借閱、還書);2) 會員管理(增加會員、查詢會員、刪除會員、借書信息);8. 學(xué)生成績管理(難度*) 實(shí)現(xiàn)功能:輸入、輸出、插入、刪除、查找、追加、讀入、顯示、保存、拷貝、排序、索引、分類合計(jì)、退出。9. 活期儲蓄帳目管理(難度*) 活期儲蓄處理中,儲戶開戶、銷戶、存入、支出活動頻繁,系統(tǒng)設(shè)計(jì)要求:1) 能比較迅速地找到儲戶的帳戶,以實(shí)現(xiàn)存款、取款記賬;2) 能比較簡單,迅速地實(shí)現(xiàn)插入和刪

8、除,以實(shí)現(xiàn)開戶和銷戶的需要。10. 二叉排序樹的實(shí)現(xiàn)(難度*) 用順序和二叉鏈表作存儲結(jié)構(gòu) 1) 以回車(n)為輸入結(jié)束標(biāo)志,輸入數(shù)列L,生成一棵二叉排序樹T;2) 對二叉排序樹T作中序遍歷,輸出結(jié)果;3) 輸入元素x,查找二叉排序樹T,若存在含x的結(jié)點(diǎn),則刪除該結(jié)點(diǎn),并作中序遍歷(執(zhí)行操作2);否則輸出信息“無x”;11. 最小生成樹問題(難度*)設(shè)計(jì)要求:在n個城市之間建設(shè)網(wǎng)絡(luò),只需保證連通即可,求最經(jīng)濟(jì)的架設(shè)方法。12. 通訊錄的制作(難度*)設(shè)計(jì)目的:用數(shù)據(jù)結(jié)構(gòu)中的雙向鏈表作數(shù)據(jù)結(jié)構(gòu),結(jié)合java語言基本知識。編寫一個通訊錄管理系統(tǒng)。以把所學(xué)數(shù)據(jù)結(jié)構(gòu)知識應(yīng)用到實(shí)際軟件開發(fā)中去。設(shè)計(jì)內(nèi)容

9、:本系統(tǒng)應(yīng)完成一下幾方面的功能:1) 輸入信息enter();2) 顯示信息display( );3) 查找以姓名作為關(guān)鍵字 search( );4) 刪除信息delete( );5) 存盤save ( );6) 裝入load( ) ;設(shè)計(jì)要求:1) 每條信息至包含 :姓名(NAME )街道(STREET)城市(CITY)郵編(EIP)國家(STATE)幾項(xiàng)2) 作為一個完整的系統(tǒng),應(yīng)具有友好的界面和較強(qiáng)的容錯能力3) 上機(jī)能正常運(yùn)行,并寫出課程設(shè)計(jì)報(bào)告13. 哈夫曼編碼/譯碼器(難度*)【問題描述】設(shè)計(jì)一個利用哈夫曼算法的編碼系統(tǒng),重復(fù)地顯示并處理以下項(xiàng)目,直到選擇退出為止?!净疽蟆?)

10、 將權(quán)值數(shù)據(jù)存放在數(shù)據(jù)文件(文件名為data.txt,位于執(zhí)行程序的當(dāng)前目錄中) 2) 初始化:鍵盤輸入字符集大小n、n個字符和n個權(quán)值,建立哈夫曼樹;3) 編碼:利用建好的哈夫曼樹生成哈夫曼編碼;4) 輸出編碼;5) 設(shè)字符集及頻度如下表:字符 空格 A B C D E F G H I J K L M頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z 頻度 57 63 15 1 48 51 80 23 8 18 1 16 1 14. 圖書管理系統(tǒng)(難度*)【問題描述】設(shè)計(jì)一個計(jì)算機(jī)管理系統(tǒng)完成圖書管

11、理基本業(yè)務(wù)?!净疽蟆?) 每種書的登記內(nèi)容包括書號、書名、著作者、現(xiàn)存量和庫存量;2) 對書號建立索引表(線性表)以提高查找效率;3) 系統(tǒng)主要功能如下:*采編入庫:新購一種書,確定書號后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加;*借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號和歸還期限,改變現(xiàn)存量;*歸還:注銷對借閱者的登記,改變該書的現(xiàn)存量。15. 走迷宮游戲(難度*)程序開始運(yùn)行時顯示一個迷宮地圖,迷宮中央有一只老鼠,迷宮的右下方有一個糧倉。游戲的任務(wù)是使用鍵盤上的方向鍵操縱老鼠在規(guī)定的時間內(nèi)走到糧倉處。要求:1) 老鼠形象可辨認(rèn),可用鍵盤操縱老鼠上下左右

12、移動;2) 迷宮的墻足夠結(jié)實(shí),老鼠不能穿墻而過;3) 正確檢測結(jié)果,若老鼠在規(guī)定時間內(nèi)走到糧倉處,提示成功,否則提示失?。?) 找出走出迷宮的所有路徑,以及最短路徑。16. 順序結(jié)構(gòu)、動態(tài)鏈表結(jié)構(gòu)下的一元多項(xiàng)式加法的實(shí)現(xiàn)。(難度*) 設(shè)有一元多項(xiàng)式Am(x)和Bn(x). Am(x)=A0+A1x1+A2x2+A3x3+ +Amxm Bn(x)=B0+B1x1+B2x2+B3x3+ +Bnxn 請實(shí)現(xiàn)求M(x)= Am(x)+Bn(x)要求: 1) 結(jié)果M(x)中無重復(fù)階項(xiàng)和無零系數(shù)項(xiàng);2) 要求輸出結(jié)果的升冪和降冪兩種排列情況17. 利用棧求表達(dá)式的值,可供小學(xué)生作業(yè),并能給出分?jǐn)?shù)。(難度*

13、)要求:(1)判斷表達(dá)式是否正確,主要是括號問題(2)題目涉及加減乘除,帶括弧的混合運(yùn)算18. 二叉樹的中序、前序、后序的遞歸、非遞歸遍歷算法,層次序的非遞歸遍歷算法的實(shí)現(xiàn),應(yīng)包含建樹的實(shí)現(xiàn)。(難度*)要求:遍歷的內(nèi)容應(yīng)是千姿百態(tài)的。19. 敢死隊(duì)問題(難度*) 有M個敢死隊(duì)員要炸掉敵人的一碉堡,誰都不想去,排長決定用輪回?cái)?shù)數(shù)的辦法來決定哪個戰(zhàn)士去執(zhí)行任務(wù)。如果前一個戰(zhàn)士沒完成任務(wù),則要再派一個戰(zhàn)士上去?,F(xiàn)給每個戰(zhàn)士編一個號,大家圍坐成一圈,隨便從某一個戰(zhàn)士開始計(jì)數(shù),當(dāng)數(shù)到5時,對應(yīng)的戰(zhàn)士就去執(zhí)行任務(wù),且此戰(zhàn)士不再參加下一輪計(jì)數(shù)。如果此戰(zhàn)士沒完成任務(wù),再從下一個戰(zhàn)士開始數(shù)數(shù),被數(shù)到第5時,此戰(zhàn)

14、士接著去執(zhí)行任務(wù)。以此類推,直到任務(wù)完成為止。 排長是不愿意去的,假設(shè)排長為1號,請你設(shè)計(jì)一程序,求出從第幾號戰(zhàn)士開始計(jì)數(shù)才能讓排長最后一個留下來而不去執(zhí)行任務(wù)。 20. 猴子吃桃子問題(難度*) 有一群猴子摘了一堆桃子,他們每天都吃當(dāng)前桃子的一半且再多吃一個,到了第10天就只余下一個桃子。用多種方法實(shí)現(xiàn)求出原來這群猴子共摘了多少個桃子。 要求:1) 采用數(shù)組數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解2) 采用鏈數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上述求解3) 采用遞歸實(shí)現(xiàn)上述求解21. 數(shù)制轉(zhuǎn)換問題(難度*)將一個十進(jìn)制數(shù)轉(zhuǎn)換為二、八、十六進(jìn)制數(shù)22. 排序綜合(難度*) 利用隨機(jī)函數(shù)產(chǎn)生N個隨機(jī)整數(shù)(20000以上),對這些數(shù)進(jìn)行多種

15、方法進(jìn)行排序。要求:1) 至少采用三種方法實(shí)現(xiàn)上述問題求解(提示,可采用的方法有插入排序、希爾排序、 起泡排序、快速排序、選擇排序、堆排序、歸并排序)。并把排序后的結(jié)果保存在不同的文件中。2) 統(tǒng)計(jì)每一種排序方法的性能(以上機(jī)運(yùn)行程序所花費(fèi)的時間為準(zhǔn)進(jìn)行對比),找出其中兩種較快的方法。23. 最小生成樹求解實(shí)現(xiàn)(難度*)要求:1) 先任意創(chuàng)建一個圖;2) 設(shè)計(jì)克魯斯卡爾類,求出該圖的最小生成樹24. 線索二叉樹的應(yīng)用(難度*)要求:建立線索樹。25. 稀疏矩陣應(yīng)用(難度*)要求:實(shí)現(xiàn)三元組下的稀疏矩陣的乘法。26. 樹的應(yīng)用(難度*)要求:實(shí)現(xiàn)樹與二叉樹的轉(zhuǎn)換的實(shí)現(xiàn)。27. HTML文檔標(biāo)記匹

16、配算法(難度*)要求:輸入一段HTML代碼,判斷該代碼是否符合HTML的語法提示:HTML文檔由不同的標(biāo)記劃分為不同的部分與層次。與括號類似,這些標(biāo)記需要成對出現(xiàn),對于名為的起始標(biāo)記,相應(yīng)的結(jié)束標(biāo)記為。常用的HTML標(biāo)記:l :HTML文檔l :文檔標(biāo)題l :文檔體l :節(jié)的頭部l :居中對齊l :左對齊l :段落l 。HTML語言有合理的嵌套,如 28. 語言中平衡符號的問題(難度*)要求:設(shè)java語言中包含如下符號/* */,(),編寫程序檢測一段java代碼中富豪是否正確。29. 燙手山芋問題(難度*)一群小孩編號為1,2,n(n0)圍成一圈,有一個剛出鍋的山芋在他們之間傳遞。假設(shè)剛開

17、始由1號拿著山芋,然后依次計(jì)數(shù)把山芋交給下一個小孩,當(dāng)數(shù)到某個特定的k時,拿著山芋的小孩退出游戲,然后從下一個小孩重新開始計(jì)數(shù),如此不斷,最后剩下的那個孩子就是幸運(yùn)者。要求設(shè)計(jì)一個程序模擬次過程,并給出不同的n,k組合下那個幸運(yùn)者是誰?30. 商場商品信息管理系統(tǒng)(難度*)31. 停車場管理系統(tǒng)(難度*)32. 編寫一個基數(shù)排序算法,將一組英文單詞按字典序排序(難度*)設(shè)最大的單詞有n個字母33.設(shè)計(jì)程序按從大到小的次序依次輸出函數(shù)f(a,b)=2*a2+b2的最小的100個函數(shù)值及相應(yīng)的兩個參數(shù)的值,其中a和b均為自然數(shù)。(難易度80) 要求:(1)作為函數(shù)值的存儲結(jié)構(gòu)應(yīng)盡可能節(jié)省空間。(2

18、)所設(shè)計(jì)算法及整個程序的時間復(fù)雜度應(yīng)盡可能小。34.采用十字鏈表表示稀疏矩陣,并實(shí)現(xiàn)矩陣的加法運(yùn)算。(難易度90)要求:要檢查有關(guān)運(yùn)算的條件,并對錯誤的條件產(chǎn)生報(bào)警。 35選擇合適的存儲結(jié)構(gòu)表示廣義表,并能實(shí)現(xiàn)下列運(yùn)算要求:(難易度95)(1)用大寫字母表示廣義表,用小寫字母表示原子,并提供設(shè)置廣義表的值的功能。(2)取廣義表L的表頭和表尾的函數(shù)head(L)和tail(L)。(3)能用這兩個函數(shù)的復(fù)合形式求出廣義表中的指定元素。(4)由廣義表的字符串形式到廣義表的轉(zhuǎn)換函數(shù)Lists Str_ToLists_(S);例如Str_ToLists_(“ (a,(a,b),c)”)的值為一個廣義表。

19、(5)由廣義表到廣義表的字符串形式的轉(zhuǎn)換函數(shù)char * Lists_To_Str(L)。(6)最好能設(shè)置多個廣義表 。36.設(shè)計(jì)程序完成如下功能:對給定的圖結(jié)構(gòu)和起點(diǎn),產(chǎn)生其所有的深度優(yōu)先搜索遍歷序列,并給出求解過程的動態(tài)演示。(難易度95)說明:可以使用實(shí)驗(yàn)工具中的有關(guān)功能。 37設(shè)計(jì)程序完成如下功能:對給定的網(wǎng)和起點(diǎn),用PRIM算法的基本思想求解出所有的最小生成樹,并給出求解過程的動態(tài)演示。(難易度95)說明:可以使用實(shí)驗(yàn)工具中的有關(guān)功能。 38.(馬的遍歷問題):設(shè)計(jì)程序完成如下要求:在中國象棋棋盤上,對任一位置上放置的一個馬,均能選擇一個合適的路線,使得該棋子能按象棋的規(guī)則不重復(fù)地走

20、過棋盤上的每一位置。(難易度95)要求:(1)依次輸出所走過的各位置的坐標(biāo)。(2)最好能畫出棋盤的圖形形式,并在其上動態(tài)地標(biāo)注行走過程。(3)程序能方便地地移植到其它規(guī)格的棋盤上。 39 長整數(shù)運(yùn)算問題描述設(shè)計(jì)一個程序?qū)崿F(xiàn)兩個任意長的整數(shù)求和運(yùn)算?;疽罄秒p項(xiàng)循環(huán)鏈表實(shí)現(xiàn)長整數(shù)的存儲,每個結(jié)點(diǎn)含一個整型變量。任何整型變量的范圍是-(215-1)(215-1)。輸入和輸出形式:按中國對于長整數(shù)的表示習(xí)慣,每四位一組,組間用逗號隔開。測試數(shù)據(jù)(1) 0;0;應(yīng)輸出“0”。(2) -2345,6789;-7654,3211;應(yīng)輸出“-1,0000,0000”。(3) -9999,9999;1,0

21、000,0000,0000;應(yīng)輸出“9999,0000,0001”。(4) 1,0001,000;-1,0001,0001;應(yīng)輸出“0”。(5) 1,0001,0001;-1,0001,0000;應(yīng)輸出“1”。實(shí)現(xiàn)提示(1) 每個結(jié)點(diǎn)中可以存放的最大整數(shù)為215-1=32767,才能保證兩數(shù)相加不會溢出。但若這樣存,即相當(dāng)于按32768進(jìn)制數(shù)存,在十進(jìn)制數(shù)與32768進(jìn)制數(shù)之間的轉(zhuǎn)換十分不方便。故可以在每個結(jié)點(diǎn)中僅存十進(jìn)制數(shù)的4位,即不超過9999的非負(fù)整數(shù),整個鏈表視為萬進(jìn)制數(shù)。(2) 可以利用頭結(jié)點(diǎn)數(shù)據(jù)域的符號代表長整數(shù)的符號。用其絕對值表示元素結(jié)點(diǎn)數(shù)目。相加過程中不要破壞兩個操作數(shù)鏈表。

22、兩操作數(shù)的頭指針存于指針數(shù)組中是簡化程序結(jié)構(gòu)的一種方法。不能給長整數(shù)位數(shù)規(guī)定上限。選作內(nèi)容修改上述程序,使它在整型量范圍是-(2n-1)(2n-1)的計(jì)算機(jī)上都能有效地運(yùn)行。其中,n是由程序讀入的參量。輸入數(shù)據(jù)的分組方法可以另行規(guī)定。40 回文判斷問題描述試寫一個算法,判斷依次讀入的一個以為結(jié)束符的字母序列,是否為形如序列1&序列2模式的字符序列。其中序列1和序列2中都不含字符&,且序列2是序列1的逆序列。例如,a+b&b+a是屬該模式的字符序列,而+&則不是。實(shí)現(xiàn)提示首先,序列1進(jìn)棧,然后序列1出棧并與序列2比較。測試數(shù)據(jù)由學(xué)生依據(jù)軟件工程的測試技術(shù)自己確定。注意測試邊界數(shù)據(jù),如序列1和序列

23、2均為空串。41 商品貨架管理問題描述商品貨架可以看成一個棧,棧頂商品的生產(chǎn)日期最早,棧底商品的生產(chǎn)日期最近。上貨時,需要倒貨架,以保證生產(chǎn)日期較近的商品在較下的位置。基本要求針對一種特定商品,實(shí)現(xiàn)上述管理過程。實(shí)現(xiàn)提示用棧模擬貨架和周轉(zhuǎn)空間。測試數(shù)據(jù)由學(xué)生依據(jù)軟件工程的測試技術(shù)自己確定。注意測試邊界數(shù)據(jù),如空棧。42 括號匹配的檢驗(yàn)問題描述假設(shè)表達(dá)式中允許有兩種括號:圓括號和方括號,其嵌套的順序隨意,即() )或( )等為正確格式,( )或(均為不正確的格式。檢驗(yàn)括號是否匹配的方法可用“期待的緊迫程度”這個概念來描述。例如:考慮下列的括號序列:()12345678當(dāng)計(jì)算機(jī)接受了第1個括號以后

24、,他期待著與其匹配的第8個括號的出現(xiàn),然而等來的卻是第2個括號,此時第1個括號“”只能暫時靠邊,而迫切等待與第2個括號相匹配的 第7個括號“)”的出現(xiàn),類似的,因只等來了第3個括號“”,此時,其期待的緊迫程度較第2個括號更緊迫,則第2個括號只能靠邊,讓位于第3個括號,顯然第3個括號的期待緊迫程度高于第2個括號,而第2個括號的期待緊迫程度高于第1個括號;在接受了第4個括號之后,第3個括號的期待得到了滿足,消解之后,第2個括號的期待匹配就成了最急迫的任務(wù)了, ,依次類推??梢娺@個處理過程正好和棧的特點(diǎn)相吻合?;疽笞x入圓括號和方括號的任意序列,輸出“匹配”或“此串括號匹配不合法”。測試數(shù)據(jù) 輸入( (),結(jié)果“匹配”輸入 ( ),結(jié)果“此串括號匹配不合法”實(shí)現(xiàn)提示設(shè)置一個棧,每讀入一個括號,若是左括號,則作為一個新的更急迫的期待壓入棧中;若是右括號,并且與當(dāng)前棧頂?shù)淖罄ㄌ栂嗥ヅ?,則將當(dāng)前棧頂?shù)淖罄ㄌ柾顺?,繼續(xù)讀下一個括號,如果讀入的右括號與當(dāng)前棧頂?shù)淖罄ㄌ柌黄ヅ?,則屬于不合法的情況。在初始和結(jié)束時,棧應(yīng)該是空的。選作內(nèi)容考慮增加大括號的情況。43 打印二叉樹結(jié)構(gòu)問題描述按凹入表形式橫向打印二叉樹結(jié)構(gòu),即二叉樹的根在屏幕的最左邊,二叉樹的左子樹在屏幕的下邊,二叉樹的右

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論