- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
计算机科学与工程学院
《算法与数据结构》试验报告[一]
专业班级
10级计算机工程01
试验地点
计算机大楼计工专业机房403
学生学号
001
指导教师
蔡琼
学生姓名
晏佳益
试验时间
2012-4-2
试验工程
算法与数据结构
试验类别
根底性〔〕设计性〔〕综合性〔√〕其它〔〕
试验目的及要求
掌握用VC++上机调试线性表的根本方法;
〔2〕掌握顺序表的存储结构以及根本运算的实现。
成绩评定表
类别
评分标准
分值
得分
合计
上机表现
积极出勤、遵守纪律
主动完成设计任务
30分
程序与报告
程序代码标准、功能正确
报告详实完整、表达收获
70分
备注:
评阅教师:
日期:年月日
试验内容
一、实验目的和要求
1、实验目的:
〔1〕掌握用VC++上机调试线性表的根本方法;
〔2〕掌握顺序表的存储结构以及根本运算的实现。
2、实验内容
约瑟夫环问题:设编号为1,2,3,……,n的n(n0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。
3、实验要求:用顺序表实现。
设计分析
该问题涉及到循环问题,一般会联想到用链表来解决此问题。如果要用顺序表解决该问题,就要解决循环的问题,即在一般情况下,当访问到最后一个元素时,能返回到第一个,且数到最后一个为i时,在第一个为〔i+1〕,除非最后一个为输出。而且此机制是在数组下进行的〔顺序表的相关操作实质上是在数组中进行的〕。
尽管教材中有此问题的相关算法,且算法比拟简单,但我还是设计了另外一个算法。主要是应用了标记及数组元素下角标与新的下角标之间的关系而运行的。这为核心代码。
除了核心代码外,再加上顺序表的定义和初始化,以及销毁等,就构成了此问题的最终程序。
同时,要注意的是输入报错机制。
源程序代码
#includeiostream
#includestdlib.h
usingnamespacestd;
#defineMAX100
typedefstruct
{
intdata[MAX];
intlength;
}SqList;
voidCreatList(SqList*L,inta1[],intn1) //建立顺序表;
{
inti;
L=(SqList*)malloc(sizeof(SqList));
for(i=0;in1;i++)
L-data[i]=a1[i];
L-length=n1;
}
voidDestroyList(SqList*L) //销毁顺序表;
{
free(L);
}
voidmain()
{
intj=0,flag=0,t=1,n,m,N,a[MAX];
SqList*l1;
cout总共人数是:;
while(!((cinN)N0))
{
cout输入错误!!!endl;
return;
}
cout数到?的人出来:;
while(!((cinm)m0))
{
cout输入错误!!!endl;
return;
}
n=N;
cout请依次输入N个编号:endl;
for(inti=0;iN;i++)
cina[i];
CreatList(l1,a,N);
for(i=1;flagN;i++,t++,j++)
{
if(t==mj==n-1)
{
coutl1-data[j]\t;
for(intk=j;kn-1;k++)
l1-data[k]=l1-data[k+1];
t=0;
j=-1;
n=n-1;
flag++;
}
else
{
if(j==n-1)j=-1;
if(t==m)
{
coutl1-data[j]\t;
for(intk=j;kn-1;k++)
l1-data[k]=l1-data[k+1];
t=0;
j=j-1;
n=n-1;
flag++;
}
}
}
DestroyList(l1);
}
四、测试用例〔尽量覆盖所有分支〕
①输入正确的用例:7个数,
您可能关注的文档
- 空调工程施工方案.doc
- 第四章-质量保证措施和创优计划.doc
- 空洞探测(一等奖).doc
- 全球化背景下的中国文化产业发展若干问题研究.ppt
- 第四届财经素养大赛习题.doc
- 创业计划书商业项目计划书提案信封档案袋商务PPT.pptx
- 光纤陀螺仪原理及其工程应用.pptx
- 第25章概率初步总复习.doc
- 创新能力培训课程.ppt
- 公共经济学(第二章)--公共经济主体.ppt
- 黑龙江省哈尔滨市第八中学2025届高考历史五模试卷含解析.doc
- 2025届河北省重点中学高三压轴卷化学试卷含解析.doc
- 2025届安徽省霍邱县第二中学高考生物全真模拟密押卷含解析.doc
- 2025届安徽省淮南市第四中学高考考前提分历史仿真卷含解析.doc
- 2025届安徽省淮南五中高三(最后冲刺)化学试卷含解析.doc
- 2025届吉林省桦甸市第四中学高三3月份第一次模拟考试历史试卷含解析.doc
- 江苏省高邮中学2025届高考冲刺模拟历史试题含解析.doc
- 辽宁师大附中2025届高考冲刺化学模拟试题含解析.doc
- 2025届安徽省黄山市屯溪第二中学高三一诊考试历史试卷含解析.doc
- 2025届安徽省黄山市屯溪第二中学高考生物全真模拟密押卷含解析.doc
最近下载
- 资本主义的发展历程(萌芽、制度确立、扩展)课件+++2024年湖南省中考二轮专题复习.pptx VIP
- 施耐德电气 SD328B 步进电机驱动器 产品手册.pdf
- J B-T 8975-2006 低压信号灯-机械行业标准规范.pdf VIP
- 医保支付方式改革—DRG与DIP.pptx
- 《10kV电杆结构部分计算书》.doc
- 《艺术学概论》随堂测验1-9答案.docx VIP
- 银行业防火演练方案.docx VIP
- 中医病历模板(腰突5).doc VIP
- Long-Term-Development-in-Sport-and-Physical-Activity-3.0体育运动中的长期发展.pdf
- 2023年陕西投资集团有限公司校园招聘考试笔试题库及答案解析.docx
文档评论(0)