学生搭配问题数据结构报告c语言,数据结构课设学生搭配问题
數(shù)據(jù)結(jié)構(gòu)課設(shè)學(xué)生搭配問題
數(shù) 據(jù) 結(jié) 構(gòu) 課程設(shè)計(jì)報(bào)告書 班級(jí) 學(xué)號(hào) 專業(yè) 姓名 課題描述: 一、 需求分析: 1. 設(shè)計(jì)內(nèi)容 一班有m個(gè)女生,有n個(gè)男生(m不等于n),現(xiàn)要開一個(gè)舞會(huì). 男女生分別編號(hào)坐在舞池的兩邊的椅子上.每曲開始時(shí),依次從男生和女生中各出一人配對跳舞, 本曲沒成功配對者坐著等待下一曲找舞伴. 請?jiān)O(shè)計(jì)一系統(tǒng)模擬動(dòng)態(tài)地顯示出上述過程,要求如下: 1) 輸出每曲配對情況 2) 計(jì)算出任何一個(gè)男生(編號(hào)為X)和任意女生(編號(hào)為Y),在第K曲配對跳舞的 情況.至少求出K的兩個(gè)值. 3) 盡量設(shè)計(jì)出多種算法及程序,可視情況適當(dāng)加分 2.需求 本課題要對數(shù)目不等的男生女生跳舞進(jìn)行搭配,設(shè)計(jì)需要解決每一首曲子 男生女生的搭配情況,要采用循環(huán)隊(duì)列的模式來解決,男生和女生各在兩個(gè)循環(huán) 的隊(duì)列中,每首曲子開始,便在兩個(gè)隊(duì)首各取一人成功配對跳舞,并進(jìn)入隊(duì)尾, 等待下一次配對。 例如:(3男5女情況) 第一首:男1和女1 第二首:男2和女2 . 第四首:男1和女4 二、 總體結(jié)構(gòu)設(shè)計(jì): 為實(shí)現(xiàn)上述功能和目的,要用到循環(huán)隊(duì)列的相關(guān)知識(shí),同時(shí),要定義一定的抽的數(shù)據(jù)類型,主函數(shù)調(diào)用各個(gè)函數(shù)模塊 1.各模塊函數(shù)介紹: 1)class cirularQueue 作用:定義一個(gè)一個(gè)循環(huán)隊(duì)列 2)~cirularQueue() 作用:定義析構(gòu)函數(shù),使對象在撤銷時(shí)釋放 3)bool IsFull() 作用:判斷隊(duì)列是否已滿 4)bool IsEmpty() 作用:判斷隊(duì)列是否為空,用于出隊(duì)列前使用 5)void push(T info) 作用:入隊(duì)。每對舞伴跳完舞之后,做入隊(duì)處理,到達(dá)隊(duì)尾,等待下次跳舞。 6)void Pop(T 作用:初始化隊(duì)列 9)void display(int,int); 作用:根據(jù)男生和女生的人數(shù)和曲目的數(shù)目,來判斷每曲歌的男女配對情況 10)void charge(int,int); 作用:判斷指定組合能否配對成功 2. 本程序包含三個(gè)模塊: 1)主程序模塊: void main() { 初始化; do{ 接受命令; 處理命令; }while(“命令”=”退出”) } 2)、集合單元模塊——實(shí)現(xiàn)集合的各個(gè)函數(shù)模塊 3)、結(jié)點(diǎn)結(jié)構(gòu)單元模塊——定義集合的結(jié)點(diǎn)結(jié)構(gòu) 三、 各子模塊設(shè)計(jì): 1主函數(shù)調(diào)用關(guān)系圖 ~cirularQueue() void GetHead(T int front; //頭指針 int rear; //尾指針 T *data; public: cirularQueue(int MaxLength) { MaxSize=MaxLength; front=rear=0; data=new T[MaxLength]; } ~cirularQueue() //定義析構(gòu)函數(shù),
總結(jié)
以上是生活随笔為你收集整理的学生搭配问题数据结构报告c语言,数据结构课设学生搭配问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Android TV 桌面添加自定
- 下一篇: 潮流话机直接对接讯时FXO