学生搭配问题数据结构报告c语言,数据结构课程设计_学生搭配问题.doc
數據結構課程設計_學生搭配問題
數據結構課程設計
題 目: 學生搭配問題
學 院:
班 級:
學 生 姓 名:
學 生 學 號:
指 導 教 師:
2012 年 12 月 3 日
課程設計任務書
姓名班級學號設計題目學生搭配問題理論要點 隊列(Queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。循環隊列是在隊列的順序存儲結構中,除了用乙組地址連續的存儲單元依次存放從隊列頭到隊列尾的元素外,尚需附設兩個指針front和rear分別指示隊列頭元素和隊列尾元素的位置。循環隊列的入隊,出隊,判隊滿,判隊空。設計目標(1)輸出每曲配對情況。
(2)計算出任何一個男生(編號為X)和任意女生(編號為Y),在第K曲配對跳舞的情況.至少求出K的兩個值。研究方法步驟(1)先建立兩個循環隊列SqQueue和SqQueue2。
(2)將男生、女生兩組人分別存入這兩個隊列。
(3)將男女生分別進行入隊列和出隊列操作,且實現搭配輸出。
(4)循環隊列的長度分別設為男女生的個數即可。
(5)在計算機終端輸出的結果是:根據要求輸出男生女生搭配情況。預期結果每一首歌曲播放時,男生和女生搭配情況(只輸出編號即可)當要查找的男女搭配時輸出歌曲編號,和他們搭配的總次數。通過以上分析,該程序具有可行。計劃與進步的安排1、2012年11月20日之前尋找到解決問題思搭配問題的路
2、2012年11月25日之前必須編寫出程序
3、2012年11月26日之前檢查程序的運行并找出錯誤程序
4、2012年11月29日之前找到解決錯誤的方法
5、2012年11月30日寫數據結構課程設計報告
摘 要
針對學生搭配問題,循環隊列是一種重要的鏈式結構,其特殊性在于需附設兩個指針front和rear分別指示對頭元素及隊尾元素的位置且對頭和隊尾相鄰接。在程序的設計過程中,運用了各種基本的算法,有判斷隊空及隊滿,出隊,入隊等.循環隊列是在隊列的順序存儲結構中,除了用乙組地址連續的存儲單元依次存放從隊列頭到隊列尾的元素外,尚需附設兩個指針front和rear分別指示隊列頭元素和隊列尾元素的位置。學生搭配問題是典型的只有采用循環隊列才能解決的問題,實驗表明該算法的空間復雜度優于其他算法。
本文用循環隊列會很好的把這個程序設計出來,會有很好的效果。得出的程序運行結果能夠很形象的把結果表示出來。
關鍵詞:學生配對,數據結構,循環隊列。
目錄
摘要I
1 設計題目1
2 運行環境1
3 算法設計的思想1
4 算法的流程圖2
5 算法設計分析2
6 源代碼3
7 運行結果分析8
8 收獲及體會8
參考文獻9
致謝9
學生搭配問題
1.設計題目
一班有m個女生,有n個男生(m不等于n),現要開一個舞會. 男女生分別編號坐在舞池的兩邊的椅子上.每曲開始時,依次從男生和女生中各出一人配對跳舞, 本曲沒成功配對者坐著等待下一曲找舞伴。請設計一系統模擬動態地顯示出上述過程,要求如下:
(1)輸出每曲配對情況
(2)計算出任何一個男生(編號為X)和任意女生(編號為Y),在第K曲配對跳舞的情況.至少求出K的兩個值。
2.運行環境
本課題的程序設計和測試等環節都是在Windows7操作系統下完成,軟件的編譯測試環境為vc6.0 以c語言編寫的。軟件的硬件運行需求非常低,任何計算機都可運行。
3.算法設計的思想
基本思路:隊列(Queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。
循環隊列是在隊列的順序存儲結構中,除了用乙組地址連續的存儲單元依次存放從隊列頭到隊列尾的元素外,尚需附設兩個指針front和rear分別指示隊列頭元素和隊列尾元素的位置。
循環隊列(兩個),將男生、女生兩組人分別存放,以實現循環配對輸出。循環隊列的入隊,出隊,判隊滿,判隊空。
(1) 要模擬動態地顯示出現題目中所要求的循環,我們要先建立兩個循環隊列SqQueue和SqQueue2。
(2) 將男生、女生兩組人分別存入這兩個隊列。以實現他們的循環配對輸出,這是循環隊列固有的特性。
(3) 利用循環隊列的特性,將男女生分別進行入隊列和出隊列操作,且實現搭配輸出。
(4) 循環隊列的長度分別設為男女生的個數即可。
(5) 在計算機終端輸出的結果是:根據要求輸出男生女生搭配情況
關鍵問題: 循環隊列的應用
解決方法:數據模型(邏輯結構): 循環
總結
以上是生活随笔為你收集整理的学生搭配问题数据结构报告c语言,数据结构课程设计_学生搭配问题.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 系统级性能分析工具 perf
- 下一篇: HDU 6078Wavel Sequen