课程实验报告汇总17686.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《课程实验报告汇总17686.pdf》由会员分享,可在线阅读,更多相关《课程实验报告汇总17686.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 .1/24 实验一 STL 的熟悉与使用 实验名称 实验一 STL 的熟悉与使用 姓 名 汪子成 系院专业 信息工程系 班 级 计算机15-1班 学 号 2015216758 实验日期 指导教师 徐本柱 成 绩 一、实验目的和要求 1掌握 C+中 STL 的容器类的使用;2掌握 C+中 STL 的算法类的使用.二、实验预习容 1预习 ICPC 讲义,大致了解 STL 的相关容。2了解 STL 中一些类 vector list 类的使用方法 3了解泛型算法的使用 三、实验项目摘要(1)练习 vector 和 list 的使用。定义一个空的 vector,元素类型为 int,生成 10 个随机数
2、插入到 vector 中,用迭代器遍历 vector 并输出其中的元素值。在 vector 头部插入一个随机数,用迭代器遍历 vector 并输出其中的元素值。用泛型算法 find 查找某个随机数,如果找到便输出,否则将此数插入 vector 尾部。用泛型算法 sort 将 vector 排序,用迭代器遍历 vector 并输出其中的元素值。删除 vector 尾部的元素,用迭代器遍历 vector 并输出其中的元素值。将vector 清空。定义一个 list,并重复上述实验,并注意观察结果。(2)练习泛型算法的使用。定义一个 vector,元素类型为 int,插入 10 个随机数,使用 so
3、rt 按升序排序,输出每个元素的值,再按降叙排序,输出每个元素的值。练习用 find 查找元素。用 min 和 max 找出容器中的最小元素和最大元素,并输出。.2/24 四、实验结果与分析(源程序与相关说明)1.练习vector 和list 的使用:#include#include#include#include#include using namespace std;vector myV;bool sortup(int v1,int v2)return v1v2;int main(int argc,char*argv)srand(time(NULL);for(int i=0;i10;i+)
4、myV.push_back(rand();sort(myV.begin(),myV.end(),sortup);vector:iterator it1;for(it1=myV.begin();it1!=myV.end();it1+)cout(*it1)setw(6);coutendl;int min=myV0;for(it1=myV.begin()+1;it1!=myV.end();it1+)if(*it1)min)min=(*it1);cout最小元素为 minmax)max=(*it1);cout最大元素为 maxendl;.3/24 coutendl;int value=rand();i
5、t1=find(myV.begin(),myV.end(),value);if(*it1)=value)cout找到了这个随机数endl;else cout没有找到这个随机数endl;myV.insert(myV.end(),value);cout插入尾部的随机数为valueendl;for(it1=myV.begin();it1!=myV.end();it1+)cout(*it1)setw(6);coutnendl;int t=rand();myV.insert(myV.begin(),t);cout插入头部的随机数为 tendl;for(it1=myV.begin();it1!=myV.e
6、nd();it1+)cout(*it1)setw(6);coutendl;myV.pop_back();for(it1=myV.begin();it1!=myV.end();it1+)cout(*it1)setw(6);coutendl;myV.clear();if(myV.empty().4/24 cout Its empty!endl;system(PAUSE);/press any key to continue.return 0;2 练习泛型算法的使用:#include#include using namespace std;typedef list lin;int value=1,6
7、,7,8,9;void print(lin&l)int i;lin:iterator lit;for(lit=l.begin();lit!=l.end();lit+)cout(*lit);coutv2;int main()lin lin2;lin2.push_front(3);lin2.push_front(4);lin2.insert(lin2.begin(),value,value+5);coutlin2 的元素为:;print(lin2);lin2.sort();cout排序后的 lin2:;print(lin2);lin2.push_front(10);cout在 list 头部插入
8、10 之后的结果:;print(lin2);lin2.remove(6);cout删除一个数后的 lin1:;print(lin2);system(PAUSE);return 0;实验二 搜索算法的实现 .6/24 实验名称 实验二 搜索算法的实现 姓 名 汪子成 系院专业 信息工程系 班 级 计算机15-1班 学 号 2015216758 实验日期 指导教师 徐本柱 成 绩 一、实验目的和要求 1掌握宽度优先搜索算法;2掌握深度优先搜索算法.二、实验预习容 1预习 ICPC 讲义中的搜索的容 2.了解什么是深度优先搜索和广度优先搜索。三、实验项目摘要 1.将书上的走迷宫代码上机运行并检验结果
9、,并注意体会搜索的思想。2.八皇后问题:在一个国际象棋棋盘上放八个皇后,使得任何两个皇后之间不相互攻击,求出所有的布棋方法。上机运行并检验结果。3.骑士游历问题:在国际棋盘上使一个骑士遍历所有的格子一遍且仅一遍,对于任意给定的顶点,输出一条符合上述要求的路径。4.倒水问题:给定 2 个没有刻度容器,对于任意给定的容积,求出如何只用两个瓶装出 L 升 的水,如果可以,输出步骤,如果不可以,请输出 No Solution .7/24 四、实验结果与分析(源程序与相关说明)2,八皇后问题:#include#define N 8#define NUM 8 int hNN,nN,HNN;int coun
10、t=0;void tryit(int,int);void outputArray(intN);main()int x=0,y=0,i,j;for(i=0;i=N-1;i+)for(j=0;j=N-1;j+)hij=0;tryit(x,y);printf(.n);printf(共有%d 种布局.n,92);return(0);void tryit(int x,int y)int i,j;if(count=0&x=0&y=N-1&hxy=0)for(j=0;j=0&x+j=0&y+j=0&x+j=0&y-j=0&x-j=0&y+j=0&x-j=0&y-j=N-1&hx-jy-j=0)hx-jy-j
11、=x+1;hxy=-x-1;if(x=7)for(i=0;i=N-1;i+)for(j=0;j=N-1;j+)if(hij0)Hij=1;else Hij=0;.9/24 count=count+1;if(count=NUM)printf(-布局%d-n,count);outputArray(H);for(i=0;i=N-1;i+)for(j=0;j7)for(i=0;i=N-1;i+)for(j=0;j=0)tryit(x-1,nx-1+1);else tryit(0,0);else tryit(x,y+1);void outputArray(int hN)int i,j;for(i=0;i
12、=N-1;i+)for(j=0;j=N-1;j+)printf(%d,hij);printf(n);.11/24 3.骑士游历问题:#include int board88=0;int travel(int x,int y)int ktmove18=-2,-1,1,2,2,1,-1,-2;int ktmove28=1,2,2,1,-1,-2,-2,-1;int nexti8=0;int nextj8=0;int exists8=0;int i,j,k,m,l;int tmpi,tmpj;int count,min,tmp;i=x;j=y;.12/24 boardij=1;for(m=2;m=6
13、4;m+)for(l=0;l 8;l+)existsl=0;l=0;for(k=0;k 8;k+)tmpi=i+ktmove1k;tmpj=j+ktmove2k;if(tmpi 0|tmpj 7|tmpj 7)continue;if(boardtmpitmpj=0)nextil=tmpi;nextjl=tmpj;l+;count=l;if(count=0)return 0;else if(count=1)min=0;else for(l=0;l count;l+)for(k=0;k 8;k+)tmpi=nextil+ktmove1k;tmpj=nextjl+ktmove2k;if(tmpi 0
14、|tmpj 7|tmpj 7)continue;.13/24 if(boardtmpitmpj=0)existsl+;tmp=exists0;min=0;for(l=1;l count;l+)if(existsl tmp)tmp=existsl;min=l;i=nextimin;j=nextjmin;boardij=m;return 1;int main()int startx,starty;int i,j;printf(输入起始点:);scanf(%d%d,&startx,&starty);if(travel(startx,starty)printf(游历完成!n);else printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 实验 报告 汇总 17686
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内