山東交通學院
資料結構課程設計
車廂排程問題
院(系)別資訊工程系
班級計算133
學號 130811341
姓名閆琛
指導教師王成
時間 2015-03-09—2015-03-20
課程設計任務書
題目車廂排程問題
系 (部資訊科學與電氣工程學院
專業電腦科學與技術
班級計算133
學生姓名閆琛
學號130811341
3 月 9 日至 3 月 20 日共 2 周
指導教師(簽字
系主任(簽字
年月日成績評定表
目錄1 課程設計概述 1
1.1 車廂排程問題功能概述1
2 車廂排程問題總體設計1
2.1 全域性變數定義1
2.2 棧的定義2
3.演算法設計2
3.1用到的進出棧演算法基礎知識2
3.2程式分析2
3.2.2 核心演算法4
3.2.3 主程式描述5
4.程式實現5
4.1執行介面5
4.2不足之處7
5.設計體會7
6.結束語8
車廂排程問題
摘要:通過輸入車廂系列的編號n,求出所有可能由此輸出的長度為n的車廂系列,用入棧出棧的方法,實現車廂排程,並演示每一種出棧序列的過程。任務:
假設停在鐵路排程站入口處的車廂系列的編號依次為1,2,3,…n。設計乙個程式,求出所有可能由此輸出的長度為n 的車廂系列。
關鍵字:車廂,排程,棧,遞迴
1. 引言
隨著人民生活水平的提高,越來越多的人坐火車出去旅遊,這也讓火車車廂的量大量增大,也隨之出現了乙個問題,即合理的排程車廂,本課程設計即利用資料結構裡的棧的知識,設計乙個合理的演算法,來解決此問題。
2. 需求分析
假設停在鐵路排程站入口處的車廂序列的編號依次為1,2,3,……,n , 設計乙個程式,求出所有可能的長度為n 的車廂序列。
實現棧的順序儲存結構sqstack之上實現棧的基本操作,即實現棧型別。程式對棧的基本操作必須借助於基本操作進行。
測試資料取 n=3,4, 程式輸出的結果應該在螢幕上顯示出來。
3. 資料結構設計
2.1全域性變數定義
typedefintselemtype;
typedefintstatus;
intend;/*最後乙個車廂的號碼*/
longtotal=0;/*總的組合方案數目*/
2.2棧的定義
typedefstructstacklist
voidstack_init(sqstack*s)
voidstack_push(sqstack*s,selemtypee)
selemtypestack_pop(sqstack*s)
statusstack_empty(sqstack*s)
statusstack_full(sqstack*s)
voidstack_printreverse(sqstacks)
3.演算法設計
3.1用到的進出棧演算法基礎知識
(1)根據要求,了解可能要用到的演算法:
3.1.1進棧(push)演算法
①若top≥n時,則給出溢位資訊,作出錯處理(進棧前首先檢查棧是否已滿,滿則溢位;不滿則作②);
②置top=top+1(棧指標加1,指向進棧位址);
③s(top)=x,結束(x為新進棧的元素);
3.1.2退棧(pop)演算法
①若top≤0,則給出下溢資訊,作出錯處理(退棧前先檢查是否已為空棧, 空則下溢;不空則作②);
②x=s(sop),(退棧後的元素賦給x);
③top=top-1,結束(棧指標減1,指向棧頂)。
3.2程式分析
3.2.1.棧的資料結構
typedefstructstacklist
sqstack;
voidstack_init(sqstack*s)
voidstack_push(sqstack*s,selemtypee)
selemtypestack_pop(sqstack*s)
statusstack_empty(sqstack*s)
statusstack_full(sqstack*s)
voidstack_printreverse(sqstacks)
八皇后問題課程設計報告
課程設計題目 名稱 八皇后問題 內容 設計程式完成如下要求 在8 8的西洋棋棋盤上,放置8個皇后,使得這8個棋子不能互相被對方吃掉。要求 1 依次輸出各種成功的放置方法。2 最好能畫出棋盤的圖形形式,並在其上動態地標註行走的過程。3 程式能方便地移植到其他規格的棋盤上。一 問題分析和任務定義 八皇后...
球閥課程設計報告 ProE課程設計
一.課題名稱 球閥班級 12機自a1 小組成員 李軍帥 組長 李軍帥 二.球閥的功能和工作原理描述 1.球閥的工作原理 球閥的主要驅動原件是裝配於閥杆上端的扳手,球閥的啟閉元件是位於閥桿下端的球體。球閥的主要工作原理是 當給扳手施加某一轉矩,扳手驅動閥桿旋轉,閥桿將扳手的轉矩傳遞給位於閥桿下端的球體...
課程設計報告
數位電路課程設計報告 題目姓名 班級學號 同組人報告得分 南京航空航天大學金城學院 目錄一 課設內容及要求 1 設計任務 2 設計指標 二 設計方案 1 總體設計方案說明 2 模組結構與方框圖 三 電路設計與器件選擇 1 功能模組一 實際名 1 模組電路及引數計算 2 工作原理和功能說明 3 器件說...