数据结构课程设计

发布 2022-10-05 01:08:28 阅读 8152

课程设计。

课程设计名称: 数据结构课程设计

专业班级 : 软件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 初始化时每个方格都是关闭的,一个...