课程设计。
课程设计名称: 数据结构课程设计
专业班级 : 软件1201
学生姓名 : 王超。
学号 : 201216040119
指导教师 : 白皓。
课程设计时间: 2013.6.14—2013.6.28
计算机应用技术专业课程设计任务书。
说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(**)首页。
1 需求分析。
本课题要对数目不等的男生女生跳舞进行搭配,设计需要解决每一首曲子
男生女生的搭配情况,要采用循环队列的模式来解决,男生和女生各在两个循环。
的队列中,每首曲子开始,便在两个队首各取一人成功配对跳舞,并进入队尾,
等待下一次配对。
例如:(3男5女情况。
第一首:男1和女1
第二首:男2和女2
第四首:男1和女4
2 概要设计:
为实现上述功能和目的,要用到循环队列的相关知识,同时,要定义一定的抽的数据类型,主函数调用各个函数模块。
1.各模块函数介绍:
1)class cirularqueue
作用:定义一个一个循环队列。
2)~cirularqueue()
作用:定义析构函数,使对象在撤销时释放。
3)bool isfull()
作用:判断队列是否已满。
4)bool isempty()
作用:判断队列是否为空,用于出队列前使用。
5)void push(t info)
作用:入队。每对舞伴跳完舞之后,做入队处理,到达队尾,等待下次跳舞。
6)void pop(t &info)
作用:出队。每取曲子响起时男生队列和女生队列作出队处理,两人跳舞。
7)void gethead(t &info)
作用:取队首元素,对出队的男女进行识别。
8)void initqueue(cirularqueue&,int);
作用:初始化队列。
9)void display(int,int);
作用:根据男生和女生的人数和曲目的数目,来判断每曲歌的男女配对情况。
10)void charge(int,int);
作用:判断指定组合能否配对成功。
2.本程序包含三个模块:
1)主程序模块:
void main()
初始化;do
2)、集合单元模块——实现集合的各个函数模块。
3)、结点结构单元模块——定义集合的结点结构。
一、 各子模块设计:
1)主函数调用关系图。
图main()
2)初始化示意
否。图void initqueue(cirularqueue &q,int m)
3)每曲配对函数调用关系图void display(int,int)否。是。
图void display(int,int)
4第k曲配对函数调用图void charge(int,int)
图void charge(int,int)
4)队满判断bool isfull()
5)对空判断原则bool isempty()
6)入队流程void push(t info)
7)出队流程void pop(t &info)
8.取队首元素**void gethead(t &info)
3 运行环境。
windows 32位。
4 开发工具和编程语言。
工具 vc++6.0
语言 c语言。
5 详细设计。
#include
template
class cirularqueue //定义一个一个循环队列。
private:
int maxsize;
int front; /头指针。
int rear; /尾指针。
t *data;
public:
cirularqueue(int maxlength)
cirularqueue() 定义析构函数,使对象在撤销时释放。
front=rear=0;
delete data;
void initqueue() 队列的申明。
for(int i=0;i push(i);
bool isfull判断队列是否已满
if((rear+1)%maxsize==front)
return true;
else return false;
bool isempty() 判断队列是否为空。
if(front==rear)
return true;
else return false;
void push(t info) /入队。
if(isfull())
elsevoid pop(t &info) /出队。
if(isempty())
elsevoid gethead(t &info) /取队首元素。else
void initqueue(cirularqueue&,int);
void display(int,int);
void charge(int,int);
using namespace std;
static int songnum=0; /定义歌曲的数量并初始化为0
static int m=0,n=0; /男生和女生的人数
int main主函数。
cout<<"请分别输入男生和女生的人数:";
cin>>m>>n;
display(m,n);
int a=0,b=0; /男生和女生的编号,以判断他们在第几首歌时能在一起跳舞。
char quit='y'; 判断是否继续输入,如果继续输入,则输入'y';否则输入'n'
while(quit!='n')
return 0;
void initqueue(cirularqueue &q,int m) /初始化队列。
for(int i=1;i<=m;i++)
void display(int m,int n)
cirularqueue man(m+1);
cirularqueue woman(n+1);
initqueue(man,m);
initqueue(woman,n);
cout<<"请输入曲目数:";
数据结构课程设计
课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...
数据结构课程设计
数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...
数据结构课程设计
班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...