欢迎来到天天文库
浏览记录
ID:12386548
大小:209.50 KB
页数:15页
时间:2018-07-16
《空间数据结构基础_实习报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《空间数据结构基础》课程实习报告(测绘2010级)姓名班级测绘2010-2学号017030801.三维空间的Tpoint【问题描述】1.定义三维空间的坐标点TPoint2.描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输出空间坐标等)。【主要代码】#includeusingnamespacestd;constdoubleT=3.1415926;classTpoint{friendclassTball;private:doublex;doubley;doublez;public:Tpoint(){x
2、=0;y=0;z=0;}Tpoint(doublea,doubleb,doublec){x=a;y=b;z=c;}};classTball{private:Tpointpos;doubler;public:Tball(){pos.x=0;pos.y=0;pos.z=0;}Tball(doublea,doubleb,doublec,doubled){pos.x=a;pos.y=b;pos.z=c;r=d;}doubleArea(){return4*T*r*r;}doubleVolume(){return4/3*T*r*r*r;}void
3、Show();};voidTball::Show(){cout<<"rx="<>x>>y>>z;cout<<"请输入半径:";cin>>r;Tballm(x,y,z,r);cout<<
4、"球面积为:"<5、立两个整型的单链表对象A和B,应用线性表的基本操作对表的实例对象进行操作测试。数据结构:定义一个链表结点类LinkNode和一个线性链表类List,提供表元素的插入、删除、查找和以下操作。1.设线性链表A=(a1,a2,…,am),,B=(b1,b2,…bm),按下列规则合并A,B为线性表C的算法,即使得C=(a1,b1,…,am,bm,b(m+1),…,bn)当m<=n或C=(a1,b1,…,an,bn,a(n+1),…,am)当m>nC表利用A表和B表中的结点空间构成。2.将C表原地逆置。3.将C表的中偶数和奇数分别链接为两个链表6、D和E。4.要求:每一次合并、拆分和逆置等操作的结果均要输出。【主要代码】#includeusingnamespacestd;templatestructLinkNode{Tdata;LinkNode*link;LinkNode(LinkNode*ptr=NULL){link=ptr;}LinkNode(constT&item,LinkNode*ptr=NULL){data=item;link=ptr;}};templateclassList{protected:L7、inkNode*first;public:List(){first=newLinkNode;}List(constT&x){first=newLinkNode(x);}~List(){makeEmpty();}voidmakeEmpty();intLength()const;LinkNode*getHead()const{returnfirst;}LinkNode*Locate(inti);boolgetData(inti,T&x);boolInsert(inti,T&x);boolIsEmpty()co8、nst{returnfirst->link==NULL?true:false;}boolIsFull()const{returnfalse;}voidinput();voidOutput();voidReverse();
5、立两个整型的单链表对象A和B,应用线性表的基本操作对表的实例对象进行操作测试。数据结构:定义一个链表结点类LinkNode和一个线性链表类List,提供表元素的插入、删除、查找和以下操作。1.设线性链表A=(a1,a2,…,am),,B=(b1,b2,…bm),按下列规则合并A,B为线性表C的算法,即使得C=(a1,b1,…,am,bm,b(m+1),…,bn)当m<=n或C=(a1,b1,…,an,bn,a(n+1),…,am)当m>nC表利用A表和B表中的结点空间构成。2.将C表原地逆置。3.将C表的中偶数和奇数分别链接为两个链表
6、D和E。4.要求:每一次合并、拆分和逆置等操作的结果均要输出。【主要代码】#includeusingnamespacestd;templatestructLinkNode{Tdata;LinkNode*link;LinkNode(LinkNode*ptr=NULL){link=ptr;}LinkNode(constT&item,LinkNode*ptr=NULL){data=item;link=ptr;}};templateclassList{protected:L
7、inkNode*first;public:List(){first=newLinkNode;}List(constT&x){first=newLinkNode(x);}~List(){makeEmpty();}voidmakeEmpty();intLength()const;LinkNode*getHead()const{returnfirst;}LinkNode*Locate(inti);boolgetData(inti,T&x);boolInsert(inti,T&x);boolIsEmpty()co
8、nst{returnfirst->link==NULL?true:false;}boolIsFull()const{returnfalse;}voidinput();voidOutput();voidReverse();
此文档下载收益归作者所有