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